2024-07-25 10:27:17 +02:00

19598 lines
1.2 MiB
Executable File

subroutine hrrspher_ssd_(psp,sp)
implicit none
real*8 sp(5),psp(6)
sp(1)=psp(5)*1.73205080756887697113d0
sp(2)=psp(2)*1.73205080756887697113d0
sp(3)=psp(1)+psp(3)*(-0.50000000000000000000d0)+psp(6)*(-0.5000000
$0000000000000d0)
sp(4)=psp(4)*1.73205080756887697113d0
sp(5)=psp(3)*(-0.86602540378443848557d0)+psp(6)*0.8660254037844384
$8557d0
return
end
subroutine hrrspher_ssf_(psp,sp)
implicit none
real*8 sp(7),psp(10)
sp(1)=psp(4)*(-0.79056941504209476967d0)+psp(9)*2.3717082451262845
$3107d0
sp(2)=psp(6)*3.87298334620741657730d0
sp(3)=psp(2)*2.44948974278317788134d0+psp(4)*(-0.61237243569579447
$033d0)+psp(9)*(-0.61237243569579447033d0)
sp(4)=psp(1)+psp(3)*(-1.50000000000000000000d0)+psp(8)*(-1.5000000
$0000000000000d0)
sp(5)=psp(5)*2.44948974278317788134d0+psp(7)*(-0.61237243569579447
$033d0)+psp(10)*(-0.61237243569579447033d0)
sp(6)=psp(3)*(-1.93649167310370828865d0)+psp(8)*1.9364916731037082
$8865d0
sp(7)=psp(7)*(-2.37170824512628453107d0)+psp(10)*0.790569415042094
$76967d0
return
end
subroutine hrrspher_ssg_(psp,sp)
implicit none
real*8 sp(9),psp(15)
sp(1)=psp(9)*(-2.95803989154980806475d0)+psp(14)*2.958039891549808
$06475d0
sp(2)=psp(4)*(-2.09165006633518890666d0)+psp(11)*6.274950199005566
$27590d0
sp(3)=psp(7)*6.70820393249936941515d0+psp(9)*(-1.11803398874989490
$253d0)+psp(14)*(-1.11803398874989490253d0)
sp(4)=psp(2)*3.16227766016837907870d0+psp(4)*(-2.37170824512628453
$107d0)+psp(11)*(-2.37170824512628453107d0)
sp(5)=psp(1)+psp(3)*(-3.00000000000000000000d0)+psp(5)*0.375000000
$00000000000d0+psp(10)*(-3.00000000000000000000d0)+psp(12)*0.750000
$00000000000000d0+psp(15)*0.37500000000000000000d0
sp(6)=psp(6)*3.16227766016837907870d0+psp(8)*(-2.37170824512628453
$107d0)+psp(13)*(-2.37170824512628453107d0)
sp(7)=psp(3)*(-3.35410196624968470758d0)+psp(5)*0.5590169943749474
$5126d0+psp(10)*3.35410196624968470758d0+psp(15)*(-0.55901699437494
$745126d0)
sp(8)=psp(8)*(-6.27495019900556627590d0)+psp(13)*2.091650066335188
$90666d0
sp(9)=psp(5)*0.73950997288745201619d0+psp(12)*(-4.4370598373247123
$1917d0)+psp(15)*0.73950997288745201619d0
return
end
subroutine hrrspher_ssh_(psp,sp)
implicit none
real*8 sp(11),psp(21)
sp(1)=psp(6)*0.70156076002011391601d0+psp(15)*(-7.0156076002011387
$1605d0)+psp(20)*3.50780380010056935802d0
sp(2)=psp(10)*(-8.87411967464942463835d0)+psp(17)*8.87411967464942
$463835d0
sp(3)=psp(4)*(-4.18330013267037692515d0)+psp(6)*0.5229125165837971
$1564d0+psp(13)*12.54990039801113255180d0+psp(15)*(-1.0458250331675
$9423129d0)+psp(20)*(-1.56873754975139156898d0)
sp(4)=psp(8)*10.24695076595959974952d0+psp(10)*(-5.123475382979799
$87476d0)+psp(17)*(-5.12347538297979987476d0)
sp(5)=psp(2)*3.87298334620741613321d0+psp(4)*(-5.80947501931112419
$982d0)+psp(6)*0.48412291827592701665d0+psp(13)*(-5.809475019311124
$19982d0)+psp(15)*0.96824583655185403330d0+psp(20)*0.48412291827592
$701665d0
sp(6)=psp(1)+psp(3)*(-5.00000000000000000000d0)+psp(5)*1.875000000
$00000000000d0+psp(12)*(-5.00000000000000000000d0)+psp(14)*3.750000
$00000000000000d0+psp(19)*1.87500000000000000000d0
sp(7)=psp(7)*3.87298334620741613321d0+psp(9)*(-5.80947501931112419
$982d0)+psp(11)*0.48412291827592701665d0+psp(16)*(-5.80947501931112
$419982d0)+psp(18)*0.96824583655185403330d0+psp(21)*0.4841229182759
$2701665d0
sp(8)=psp(3)*(-5.12347538297979987476d0)+psp(5)*2.5617376914898999
$3738d0+psp(12)*5.12347538297979987476d0+psp(19)*(-2.56173769148989
$993738d0)
sp(9)=psp(9)*(-12.54990039801113255180d0)+psp(11)*1.56873754975139
$156898d0+psp(16)*4.18330013267037692515d0+psp(18)*1.04582503316759
$423129d0+psp(21)*(-0.52291251658379711564d0)
sp(10)=psp(5)*2.21852991866235615959d0+psp(14)*(-13.31117951197413
$695752d0)+psp(19)*2.21852991866235615959d0
sp(11)=psp(11)*3.50780380010056935802d0+psp(18)*(-7.01560760020113
$871605d0)+psp(21)*0.70156076002011391601d0
return
end
subroutine hrrspher_ssi_(psp,sp)
implicit none
real*8 sp(13),psp(28)
sp(1)=psp(13)*4.03015973628837986809d0+psp(22)*(-13.43386578762789
$973496d0)+psp(27)*4.03015973628837986809d0
sp(2)=psp(6)*2.32681380862329012515d0+psp(17)*(-23.268138086232898
$58701d0)+psp(24)*11.63406904311639955552d0
sp(3)=psp(11)*(-19.84313483298440061731d0)+psp(13)*1.9843134832984
$3992850d0+psp(20)*19.84313483298440061731d0+psp(27)*(-1.9843134832
$9843992850d0)
sp(4)=psp(4)*(-7.24568837309471991404d0)+psp(6)*2.7171331399105200
$7879d0+psp(15)*21.73706511928419971014d0+psp(17)*(-5.4342662798210
$4015757d0)+psp(24)*(-8.15139941973155934818d0)
sp(5)=psp(9)*14.49137674618940074822d0+psp(11)*(-14.49137674618940
$074822d0)+psp(13)*0.90571104663683998925d0+psp(20)*(-14.4913767461
$8940074822d0)+psp(22)*1.81142209327367997851d0+psp(27)*0.905711046
$63683998925d0
sp(6)=psp(2)*4.58257569495583982899d0+psp(4)*(-11.4564392373895991
$2839d0)+psp(6)*2.86410980934739978210d0+psp(15)*(-11.4564392373895
$9912839d0)+psp(17)*5.72821961869479956420d0+psp(24)*2.864109809347
$39978210d0
sp(7)=psp(1)+psp(3)*(-7.50000000000000000000d0)+psp(5)*5.625000000
$00000000000d0+psp(7)*(-0.31250000000000000000d0)+psp(14)*(-7.50000
$000000000000000d0)+psp(16)*11.25000000000000000000d0+psp(18)*(-0.9
$3750000000000000000d0)+psp(23)*5.62500000000000000000d0+psp(25)*(-
$0.93750000000000000000d0)+psp(28)*(-0.31250000000000000000d0)
sp(8)=psp(8)*4.58257569495583982899d0+psp(10)*(-11.456439237389599
$12839d0)+psp(12)*2.86410980934739978210d0+psp(19)*(-11.45643923738
$959912839d0)+psp(21)*5.72821961869479956420d0+psp(26)*2.8641098093
$4739978210d0
sp(9)=psp(3)*(-7.24568837309471991404d0)+psp(5)*7.2456883730947199
$1404d0+psp(7)*(-0.45285552331841999463d0)+psp(14)*7.24568837309471
$991404d0+psp(18)*(-0.45285552331841999463d0)+psp(23)*(-7.245688373
$09471991404d0)+psp(25)*0.45285552331841999463d0+psp(28)*0.45285552
$331841999463d0
sp(10)=psp(10)*(-21.73706511928419971014d0)+psp(12)*8.151399419731
$55934818d0+psp(19)*7.24568837309471991404d0+psp(21)*5.434266279821
$04015757d0+psp(26)*(-2.71713313991052007879d0)
sp(11)=psp(5)*4.96078370824610992429d0+psp(7)*(-0.4960783708246109
$8133d0)+psp(16)*(-29.76470224947659914960d0)+psp(18)*2.48039185412
$305007716d0+psp(23)*4.96078370824610992429d0+psp(25)*2.48039185412
$305007716d0+psp(28)*(-0.49607837082461098133d0)
sp(12)=psp(12)*11.63406904311639955552d0+psp(21)*(-23.268138086232
$89858701d0)+psp(26)*2.32681380862329012515d0
sp(13)=psp(7)*(-0.67169328938139605256d0)+psp(18)*10.0753993407208
$9948813d0+psp(25)*(-10.07539934072089948813d0)+psp(28)*0.671693289
$38139605256d0
return
end
subroutine hrrspher_psd_(psp,sp)
implicit none
real*8 sp(15),psp(18)
sp(1:3)=psp(13:15)*1.73205080756887697113d0
sp(4:6)=psp(4:6)*1.73205080756887697113d0
sp(7:9)=psp(1:3)+psp(7:9)*(-0.50000000000000000000d0)+psp(16:18)*(
$-0.50000000000000000000d0)
sp(10:12)=psp(10:12)*1.73205080756887697113d0
sp(13:15)=psp(7:9)*(-0.86602540378443848557d0)+psp(16:18)*0.866025
$40378443848557d0
return
end
subroutine hrrspher_psf_(psp,sp)
implicit none
real*8 sp(21),psp(30)
sp(1:3)=psp(10:12)*(-0.79056941504209476967d0)+psp(25:27)*2.371708
$24512628453107d0
sp(4:6)=psp(16:18)*3.87298334620741657730d0
sp(7:9)=psp(4:6)*2.44948974278317788134d0+psp(10:12)*(-0.612372435
$69579447033d0)+psp(25:27)*(-0.61237243569579447033d0)
sp(10:12)=psp(1:3)+psp(7:9)*(-1.50000000000000000000d0)+psp(22:24)
$*(-1.50000000000000000000d0)
sp(13:15)=psp(13:15)*2.44948974278317788134d0+psp(19:21)*(-0.61237
$243569579447033d0)+psp(28:30)*(-0.61237243569579447033d0)
sp(16:18)=psp(7:9)*(-1.93649167310370828865d0)+psp(22:24)*1.936491
$67310370828865d0
sp(19:21)=psp(19:21)*(-2.37170824512628453107d0)+psp(28:30)*0.7905
$6941504209476967d0
return
end
subroutine hrrspher_psg_(psp,sp)
implicit none
real*8 sp(27),psp(45)
sp(1:3)=psp(25:27)*(-2.95803989154980806475d0)+psp(40:42)*2.958039
$89154980806475d0
sp(4:6)=psp(10:12)*(-2.09165006633518890666d0)+psp(31:33)*6.274950
$19900556627590d0
sp(7:9)=psp(19:21)*6.70820393249936941515d0+psp(25:27)*(-1.1180339
$8874989490253d0)+psp(40:42)*(-1.11803398874989490253d0)
sp(10:12)=psp(4:6)*3.16227766016837907870d0+psp(10:12)*(-2.3717082
$4512628453107d0)+psp(31:33)*(-2.37170824512628453107d0)
sp(13:15)=psp(1:3)+psp(7:9)*(-3.00000000000000000000d0)+psp(13:15)
$*0.37500000000000000000d0+psp(28:30)*(-3.00000000000000000000d0)+p
$sp(34:36)*0.75000000000000000000d0+psp(43:45)*0.375000000000000000
$00d0
sp(16:18)=psp(16:18)*3.16227766016837907870d0+psp(22:24)*(-2.37170
$824512628453107d0)+psp(37:39)*(-2.37170824512628453107d0)
sp(19:21)=psp(7:9)*(-3.35410196624968470758d0)+psp(13:15)*0.559016
$99437494745126d0+psp(28:30)*3.35410196624968470758d0+psp(43:45)*(-
$0.55901699437494745126d0)
sp(22:24)=psp(22:24)*(-6.27495019900556627590d0)+psp(37:39)*2.0916
$5006633518890666d0
sp(25:27)=psp(13:15)*0.73950997288745201619d0+psp(34:36)*(-4.43705
$983732471231917d0)+psp(43:45)*0.73950997288745201619d0
return
end
subroutine hrrspher_psh_(psp,sp)
implicit none
real*8 sp(33),psp(63)
sp(1:3)=psp(16:18)*0.70156076002011391601d0+psp(43:45)*(-7.0156076
$0020113871605d0)+psp(58:60)*3.50780380010056935802d0
sp(4:6)=psp(28:30)*(-8.87411967464942463835d0)+psp(49:51)*8.874119
$67464942463835d0
sp(7:9)=psp(10:12)*(-4.18330013267037692515d0)+psp(16:18)*0.522912
$51658379711564d0+psp(37:39)*12.54990039801113255180d0+psp(43:45)*(
$-1.04582503316759423129d0)+psp(58:60)*(-1.56873754975139156898d0)
sp(10:12)=psp(22:24)*10.24695076595959974952d0+psp(28:30)*(-5.1234
$7538297979987476d0)+psp(49:51)*(-5.12347538297979987476d0)
sp(13:15)=psp(4:6)*3.87298334620741613321d0+psp(10:12)*(-5.8094750
$1931112419982d0)+psp(16:18)*0.48412291827592701665d0+psp(37:39)*(-
$5.80947501931112419982d0)+psp(43:45)*0.96824583655185403330d0+psp(
$58:60)*0.48412291827592701665d0
sp(16:18)=psp(1:3)+psp(7:9)*(-5.00000000000000000000d0)+psp(13:15)
$*1.87500000000000000000d0+psp(34:36)*(-5.00000000000000000000d0)+p
$sp(40:42)*3.75000000000000000000d0+psp(55:57)*1.875000000000000000
$00d0
sp(19:21)=psp(19:21)*3.87298334620741613321d0+psp(25:27)*(-5.80947
$501931112419982d0)+psp(31:33)*0.48412291827592701665d0+psp(46:48)*
$(-5.80947501931112419982d0)+psp(52:54)*0.96824583655185403330d0+ps
$p(61:63)*0.48412291827592701665d0
sp(22:24)=psp(7:9)*(-5.12347538297979987476d0)+psp(13:15)*2.561737
$69148989993738d0+psp(34:36)*5.12347538297979987476d0+psp(55:57)*(-
$2.56173769148989993738d0)
sp(25:27)=psp(25:27)*(-12.54990039801113255180d0)+psp(31:33)*1.568
$73754975139156898d0+psp(46:48)*4.18330013267037692515d0+psp(52:54)
$*1.04582503316759423129d0+psp(61:63)*(-0.52291251658379711564d0)
sp(28:30)=psp(13:15)*2.21852991866235615959d0+psp(40:42)*(-13.3111
$7951197413695752d0)+psp(55:57)*2.21852991866235615959d0
sp(31:33)=psp(31:33)*3.50780380010056935802d0+psp(52:54)*(-7.01560
$760020113871605d0)+psp(61:63)*0.70156076002011391601d0
return
end
subroutine hrrspher_psi_(psp,sp)
implicit none
real*8 sp(39),psp(84)
sp(1:3)=psp(37:39)*4.03015973628837986809d0+psp(64:66)*(-13.433865
$78762789973496d0)+psp(79:81)*4.03015973628837986809d0
sp(4:6)=psp(16:18)*2.32681380862329012515d0+psp(49:51)*(-23.268138
$08623289858701d0)+psp(70:72)*11.63406904311639955552d0
sp(7:9)=psp(31:33)*(-19.84313483298440061731d0)+psp(37:39)*1.98431
$348329843992850d0+psp(58:60)*19.84313483298440061731d0+psp(79:81)*
$(-1.98431348329843992850d0)
sp(10:12)=psp(10:12)*(-7.24568837309471991404d0)+psp(16:18)*2.7171
$3313991052007879d0+psp(43:45)*21.73706511928419971014d0+psp(49:51)
$*(-5.43426627982104015757d0)+psp(70:72)*(-8.15139941973155934818d0
$)
sp(13:15)=psp(25:27)*14.49137674618940074822d0+psp(31:33)*(-14.491
$37674618940074822d0)+psp(37:39)*0.90571104663683998925d0+psp(58:60
$)*(-14.49137674618940074822d0)+psp(64:66)*1.81142209327367997851d0
$+psp(79:81)*0.90571104663683998925d0
sp(16:18)=psp(4:6)*4.58257569495583982899d0+psp(10:12)*(-11.456439
$23738959912839d0)+psp(16:18)*2.86410980934739978210d0+psp(43:45)*(
$-11.45643923738959912839d0)+psp(49:51)*5.72821961869479956420d0+ps
$p(70:72)*2.86410980934739978210d0
sp(19:21)=psp(1:3)+psp(7:9)*(-7.50000000000000000000d0)+psp(13:15)
$*5.62500000000000000000d0+psp(19:21)*(-0.31250000000000000000d0)+p
$sp(40:42)*(-7.50000000000000000000d0)+psp(46:48)*11.25000000000000
$000000d0+psp(52:54)*(-0.93750000000000000000d0)+psp(67:69)*5.62500
$000000000000000d0+psp(73:75)*(-0.93750000000000000000d0)+psp(82:84
$)*(-0.31250000000000000000d0)
sp(22:24)=psp(22:24)*4.58257569495583982899d0+psp(28:30)*(-11.4564
$3923738959912839d0)+psp(34:36)*2.86410980934739978210d0+psp(55:57)
$*(-11.45643923738959912839d0)+psp(61:63)*5.72821961869479956420d0+
$psp(76:78)*2.86410980934739978210d0
sp(25:27)=psp(7:9)*(-7.24568837309471991404d0)+psp(13:15)*7.245688
$37309471991404d0+psp(19:21)*(-0.45285552331841999463d0)+psp(40:42)
$*7.24568837309471991404d0+psp(52:54)*(-0.45285552331841999463d0)+p
$sp(67:69)*(-7.24568837309471991404d0)+psp(73:75)*0.452855523318419
$99463d0+psp(82:84)*0.45285552331841999463d0
sp(28:30)=psp(28:30)*(-21.73706511928419971014d0)+psp(34:36)*8.151
$39941973155934818d0+psp(55:57)*7.24568837309471991404d0+psp(61:63)
$*5.43426627982104015757d0+psp(76:78)*(-2.71713313991052007879d0)
sp(31:33)=psp(13:15)*4.96078370824610992429d0+psp(19:21)*(-0.49607
$837082461098133d0)+psp(46:48)*(-29.76470224947659914960d0)+psp(52:
$54)*2.48039185412305007716d0+psp(67:69)*4.96078370824610992429d0+p
$sp(73:75)*2.48039185412305007716d0+psp(82:84)*(-0.4960783708246109
$8133d0)
sp(34:36)=psp(34:36)*11.63406904311639955552d0+psp(61:63)*(-23.268
$13808623289858701d0)+psp(76:78)*2.32681380862329012515d0
sp(37:39)=psp(19:21)*(-0.67169328938139605256d0)+psp(52:54)*10.075
$39934072089948813d0+psp(73:75)*(-10.07539934072089948813d0)+psp(82
$:84)*0.67169328938139605256d0
return
end
subroutine hrrspher_pps_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(9),psp(9)
real*8 xab,yab,zab
sp(1)=psp(4)+zab*psp(1)
sp(2)=psp(5)+yab*psp(1)
sp(3)=psp(7)+xab*psp(1)
sp(4)=psp(5)+zab*psp(2)
sp(5)=psp(6)+yab*psp(2)
sp(6)=psp(8)+xab*psp(2)
sp(7)=psp(7)+zab*psp(3)
sp(8)=psp(8)+yab*psp(3)
sp(9)=psp(9)+xab*psp(3)
return
end
subroutine hrrspher_ppp_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(27),psp(27)
real*8 xab,yab,zab
sp(1:3)=psp(10:12)+zab*psp(1:3)
sp(4:6)=psp(13:15)+yab*psp(1:3)
sp(7:9)=psp(19:21)+xab*psp(1:3)
sp(10:12)=psp(13:15)+zab*psp(4:6)
sp(13:15)=psp(16:18)+yab*psp(4:6)
sp(16:18)=psp(22:24)+xab*psp(4:6)
sp(19:21)=psp(19:21)+zab*psp(7:9)
sp(22:24)=psp(22:24)+yab*psp(7:9)
sp(25:27)=psp(25:27)+xab*psp(7:9)
return
end
subroutine hrrspher_ppd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(45),psp(54)
real*8 xab,yab,zab
sp(1:9)=psp(37:45)*1.73205080756887697113d0
sp(10:18)=psp(10:18)*1.73205080756887697113d0
sp(19:27)=psp(1:9)+psp(19:27)*(-0.50000000000000000000d0)+psp(46:5
$4)*(-0.50000000000000000000d0)
sp(28:36)=psp(28:36)*1.73205080756887697113d0
sp(37:45)=psp(19:27)*(-0.86602540378443848557d0)+psp(46:54)*0.8660
$2540378443848557d0
do ii=1,5
ji=(ii-1)*9
do ki=1,9
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
sp(1:5)=psp(16:20)+zab*psp(1:5)
sp(6:10)=psp(21:25)+yab*psp(1:5)
sp(11:15)=psp(31:35)+xab*psp(1:5)
sp(16:20)=psp(21:25)+zab*psp(6:10)
sp(21:25)=psp(26:30)+yab*psp(6:10)
sp(26:30)=psp(36:40)+xab*psp(6:10)
sp(31:35)=psp(31:35)+zab*psp(11:15)
sp(36:40)=psp(36:40)+yab*psp(11:15)
sp(41:45)=psp(41:45)+xab*psp(11:15)
return
end
subroutine hrrspher_ppf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(63),psp(90)
real*8 xab,yab,zab
sp(1:9)=psp(28:36)*(-0.79056941504209476967d0)+psp(73:81)*2.371708
$24512628453107d0
sp(10:18)=psp(46:54)*3.87298334620741657730d0
sp(19:27)=psp(10:18)*2.44948974278317788134d0+psp(28:36)*(-0.61237
$243569579447033d0)+psp(73:81)*(-0.61237243569579447033d0)
sp(28:36)=psp(1:9)+psp(19:27)*(-1.50000000000000000000d0)+psp(64:7
$2)*(-1.50000000000000000000d0)
sp(37:45)=psp(37:45)*2.44948974278317788134d0+psp(55:63)*(-0.61237
$243569579447033d0)+psp(82:90)*(-0.61237243569579447033d0)
sp(46:54)=psp(19:27)*(-1.93649167310370828865d0)+psp(64:72)*1.9364
$9167310370828865d0
sp(55:63)=psp(55:63)*(-2.37170824512628453107d0)+psp(82:90)*0.7905
$6941504209476967d0
do ii=1,7
ji=(ii-1)*9
do ki=1,9
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
sp(1:7)=psp(22:28)+zab*psp(1:7)
sp(8:14)=psp(29:35)+yab*psp(1:7)
sp(15:21)=psp(43:49)+xab*psp(1:7)
sp(22:28)=psp(29:35)+zab*psp(8:14)
sp(29:35)=psp(36:42)+yab*psp(8:14)
sp(36:42)=psp(50:56)+xab*psp(8:14)
sp(43:49)=psp(43:49)+zab*psp(15:21)
sp(50:56)=psp(50:56)+yab*psp(15:21)
sp(57:63)=psp(57:63)+xab*psp(15:21)
return
end
subroutine hrrspher_ppg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(81),psp(135)
real*8 xab,yab,zab
sp(1:9)=psp(73:81)*(-2.95803989154980806475d0)+psp(118:126)*2.9580
$3989154980806475d0
sp(10:18)=psp(28:36)*(-2.09165006633518890666d0)+psp(91:99)*6.2749
$5019900556627590d0
sp(19:27)=psp(55:63)*6.70820393249936941515d0+psp(73:81)*(-1.11803
$398874989490253d0)+psp(118:126)*(-1.11803398874989490253d0)
sp(28:36)=psp(10:18)*3.16227766016837907870d0+psp(28:36)*(-2.37170
$824512628453107d0)+psp(91:99)*(-2.37170824512628453107d0)
sp(37:45)=psp(1:9)+psp(19:27)*(-3.00000000000000000000d0)+psp(37:4
$5)*0.37500000000000000000d0+psp(82:90)*(-3.00000000000000000000d0)
$+psp(100:108)*0.75000000000000000000d0+psp(127:135)*0.375000000000
$00000000d0
sp(46:54)=psp(46:54)*3.16227766016837907870d0+psp(64:72)*(-2.37170
$824512628453107d0)+psp(109:117)*(-2.37170824512628453107d0)
sp(55:63)=psp(19:27)*(-3.35410196624968470758d0)+psp(37:45)*0.5590
$1699437494745126d0+psp(82:90)*3.35410196624968470758d0+psp(127:135
$)*(-0.55901699437494745126d0)
sp(64:72)=psp(64:72)*(-6.27495019900556627590d0)+psp(109:117)*2.09
$165006633518890666d0
sp(73:81)=psp(37:45)*0.73950997288745201619d0+psp(100:108)*(-4.437
$05983732471231917d0)+psp(127:135)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*9
do ki=1,9
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
sp(1:9)=psp(28:36)+zab*psp(1:9)
sp(10:18)=psp(37:45)+yab*psp(1:9)
sp(19:27)=psp(55:63)+xab*psp(1:9)
sp(28:36)=psp(37:45)+zab*psp(10:18)
sp(37:45)=psp(46:54)+yab*psp(10:18)
sp(46:54)=psp(64:72)+xab*psp(10:18)
sp(55:63)=psp(55:63)+zab*psp(19:27)
sp(64:72)=psp(64:72)+yab*psp(19:27)
sp(73:81)=psp(73:81)+xab*psp(19:27)
return
end
subroutine hrrspher_pph_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(99),psp(189)
real*8 xab,yab,zab
sp(1:9)=psp(46:54)*0.70156076002011391601d0+psp(127:135)*(-7.01560
$760020113871605d0)+psp(172:180)*3.50780380010056935802d0
sp(10:18)=psp(82:90)*(-8.87411967464942463835d0)+psp(145:153)*8.87
$411967464942463835d0
sp(19:27)=psp(28:36)*(-4.18330013267037692515d0)+psp(46:54)*0.5229
$1251658379711564d0+psp(109:117)*12.54990039801113255180d0+psp(127:
$135)*(-1.04582503316759423129d0)+psp(172:180)*(-1.5687375497513915
$6898d0)
sp(28:36)=psp(64:72)*10.24695076595959974952d0+psp(82:90)*(-5.1234
$7538297979987476d0)+psp(145:153)*(-5.12347538297979987476d0)
sp(37:45)=psp(10:18)*3.87298334620741613321d0+psp(28:36)*(-5.80947
$501931112419982d0)+psp(46:54)*0.48412291827592701665d0+psp(109:117
$)*(-5.80947501931112419982d0)+psp(127:135)*0.96824583655185403330d
$0+psp(172:180)*0.48412291827592701665d0
sp(46:54)=psp(1:9)+psp(19:27)*(-5.00000000000000000000d0)+psp(37:4
$5)*1.87500000000000000000d0+psp(100:108)*(-5.00000000000000000000d
$0)+psp(118:126)*3.75000000000000000000d0+psp(163:171)*1.8750000000
$0000000000d0
sp(55:63)=psp(55:63)*3.87298334620741613321d0+psp(73:81)*(-5.80947
$501931112419982d0)+psp(91:99)*0.48412291827592701665d0+psp(136:144
$)*(-5.80947501931112419982d0)+psp(154:162)*0.96824583655185403330d
$0+psp(181:189)*0.48412291827592701665d0
sp(64:72)=psp(19:27)*(-5.12347538297979987476d0)+psp(37:45)*2.5617
$3769148989993738d0+psp(100:108)*5.12347538297979987476d0+psp(163:1
$71)*(-2.56173769148989993738d0)
sp(73:81)=psp(73:81)*(-12.54990039801113255180d0)+psp(91:99)*1.568
$73754975139156898d0+psp(136:144)*4.18330013267037692515d0+psp(154:
$162)*1.04582503316759423129d0+psp(181:189)*(-0.5229125165837971156
$4d0)
sp(82:90)=psp(37:45)*2.21852991866235615959d0+psp(118:126)*(-13.31
$117951197413695752d0)+psp(163:171)*2.21852991866235615959d0
sp(91:99)=psp(91:99)*3.50780380010056935802d0+psp(154:162)*(-7.015
$60760020113871605d0)+psp(181:189)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*9
do ki=1,9
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
sp(1:11)=psp(34:44)+zab*psp(1:11)
sp(12:22)=psp(45:55)+yab*psp(1:11)
sp(23:33)=psp(67:77)+xab*psp(1:11)
sp(34:44)=psp(45:55)+zab*psp(12:22)
sp(45:55)=psp(56:66)+yab*psp(12:22)
sp(56:66)=psp(78:88)+xab*psp(12:22)
sp(67:77)=psp(67:77)+zab*psp(23:33)
sp(78:88)=psp(78:88)+yab*psp(23:33)
sp(89:99)=psp(89:99)+xab*psp(23:33)
return
end
subroutine hrrspher_ppi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(117),psp(252)
real*8 xab,yab,zab
sp(1:9)=psp(109:117)*4.03015973628837986809d0+psp(190:198)*(-13.43
$386578762789973496d0)+psp(235:243)*4.03015973628837986809d0
sp(10:18)=psp(46:54)*2.32681380862329012515d0+psp(145:153)*(-23.26
$813808623289858701d0)+psp(208:216)*11.63406904311639955552d0
sp(19:27)=psp(91:99)*(-19.84313483298440061731d0)+psp(109:117)*1.9
$8431348329843992850d0+psp(172:180)*19.84313483298440061731d0+psp(2
$35:243)*(-1.98431348329843992850d0)
sp(28:36)=psp(28:36)*(-7.24568837309471991404d0)+psp(46:54)*2.7171
$3313991052007879d0+psp(127:135)*21.73706511928419971014d0+psp(145:
$153)*(-5.43426627982104015757d0)+psp(208:216)*(-8.1513994197315593
$4818d0)
sp(37:45)=psp(73:81)*14.49137674618940074822d0+psp(91:99)*(-14.491
$37674618940074822d0)+psp(109:117)*0.90571104663683998925d0+psp(172
$:180)*(-14.49137674618940074822d0)+psp(190:198)*1.8114220932736799
$7851d0+psp(235:243)*0.90571104663683998925d0
sp(46:54)=psp(10:18)*4.58257569495583982899d0+psp(28:36)*(-11.4564
$3923738959912839d0)+psp(46:54)*2.86410980934739978210d0+psp(127:13
$5)*(-11.45643923738959912839d0)+psp(145:153)*5.7282196186947995642
$0d0+psp(208:216)*2.86410980934739978210d0
sp(55:63)=psp(1:9)+psp(19:27)*(-7.50000000000000000000d0)+psp(37:4
$5)*5.62500000000000000000d0+psp(55:63)*(-0.31250000000000000000d0)
$+psp(118:126)*(-7.50000000000000000000d0)+psp(136:144)*11.25000000
$000000000000d0+psp(154:162)*(-0.93750000000000000000d0)+psp(199:20
$7)*5.62500000000000000000d0+psp(217:225)*(-0.93750000000000000000d
$0)+psp(244:252)*(-0.31250000000000000000d0)
sp(64:72)=psp(64:72)*4.58257569495583982899d0+psp(82:90)*(-11.4564
$3923738959912839d0)+psp(100:108)*2.86410980934739978210d0+psp(163:
$171)*(-11.45643923738959912839d0)+psp(181:189)*5.72821961869479956
$420d0+psp(226:234)*2.86410980934739978210d0
sp(73:81)=psp(19:27)*(-7.24568837309471991404d0)+psp(37:45)*7.2456
$8837309471991404d0+psp(55:63)*(-0.45285552331841999463d0)+psp(118:
$126)*7.24568837309471991404d0+psp(154:162)*(-0.4528555233184199946
$3d0)+psp(199:207)*(-7.24568837309471991404d0)+psp(217:225)*0.45285
$552331841999463d0+psp(244:252)*0.45285552331841999463d0
sp(82:90)=psp(82:90)*(-21.73706511928419971014d0)+psp(100:108)*8.1
$5139941973155934818d0+psp(163:171)*7.24568837309471991404d0+psp(18
$1:189)*5.43426627982104015757d0+psp(226:234)*(-2.71713313991052007
$879d0)
sp(91:99)=psp(37:45)*4.96078370824610992429d0+psp(55:63)*(-0.49607
$837082461098133d0)+psp(136:144)*(-29.76470224947659914960d0)+psp(1
$54:162)*2.48039185412305007716d0+psp(199:207)*4.960783708246109924
$29d0+psp(217:225)*2.48039185412305007716d0+psp(244:252)*(-0.496078
$37082461098133d0)
sp(100:108)=psp(100:108)*11.63406904311639955552d0+psp(181:189)*(-
$23.26813808623289858701d0)+psp(226:234)*2.32681380862329012515d0
sp(109:117)=psp(55:63)*(-0.67169328938139605256d0)+psp(154:162)*10
$.07539934072089948813d0+psp(217:225)*(-10.07539934072089948813d0)+
$psp(244:252)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*9
do ki=1,9
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
sp(1:13)=psp(40:52)+zab*psp(1:13)
sp(14:26)=psp(53:65)+yab*psp(1:13)
sp(27:39)=psp(79:91)+xab*psp(1:13)
sp(40:52)=psp(53:65)+zab*psp(14:26)
sp(53:65)=psp(66:78)+yab*psp(14:26)
sp(66:78)=psp(92:104)+xab*psp(14:26)
sp(79:91)=psp(79:91)+zab*psp(27:39)
sp(92:104)=psp(92:104)+yab*psp(27:39)
sp(105:117)=psp(105:117)+xab*psp(27:39)
return
end
subroutine hrrspher_dss_(psp,sp)
implicit none
real*8 sp(6),psp(6)
sp(1)=psp(5)*1.73205080756887697113d0
sp(2)=psp(2)*1.73205080756887697113d0
sp(3)=psp(1)+psp(3)*(-0.50000000000000000000d0)+psp(6)*(-0.5000000
$0000000000000d0)
sp(4)=psp(4)*1.73205080756887697113d0
sp(5)=psp(3)*(-0.86602540378443848557d0)+psp(6)*0.8660254037844384
$8557d0
return
end
subroutine hrrspher_dsp_(psp,sp)
implicit none
real*8 sp(18),psp(18)
sp(1:3)=psp(13:15)*1.73205080756887697113d0
sp(4:6)=psp(4:6)*1.73205080756887697113d0
sp(7:9)=psp(1:3)+psp(7:9)*(-0.50000000000000000000d0)+psp(16:18)*(
$-0.50000000000000000000d0)
sp(10:12)=psp(10:12)*1.73205080756887697113d0
sp(13:15)=psp(7:9)*(-0.86602540378443848557d0)+psp(16:18)*0.866025
$40378443848557d0
return
end
subroutine hrrspher_dsd_(psp,sp)
implicit none
integer ii,ki
real*8 sp(30),psp(36)
sp(1:6)=psp(25:30)*1.73205080756887697113d0
sp(7:12)=psp(7:12)*1.73205080756887697113d0
sp(13:18)=psp(1:6)+psp(13:18)*(-0.50000000000000000000d0)+psp(31:3
$6)*(-0.50000000000000000000d0)
sp(19:24)=psp(19:24)*1.73205080756887697113d0
sp(25:30)=psp(13:18)*(-0.86602540378443848557d0)+psp(31:36)*0.8660
$2540378443848557d0
do ii=1,5
do ki=1,6
psp((ki-1)*5+ii)=sp((ii-1)*6+ki)
enddo
enddo
sp(1:5)=psp(21:25)*1.73205080756887697113d0
sp(6:10)=psp(6:10)*1.73205080756887697113d0
sp(11:15)=psp(1:5)+psp(11:15)*(-0.50000000000000000000d0)+psp(26:3
$0)*(-0.50000000000000000000d0)
sp(16:20)=psp(16:20)*1.73205080756887697113d0
sp(21:25)=psp(11:15)*(-0.86602540378443848557d0)+psp(26:30)*0.8660
$2540378443848557d0
return
end
subroutine hrrspher_dsf_(psp,sp)
implicit none
integer ii,ki
real*8 sp(42),psp(60)
sp(1:6)=psp(19:24)*(-0.79056941504209476967d0)+psp(49:54)*2.371708
$24512628453107d0
sp(7:12)=psp(31:36)*3.87298334620741657730d0
sp(13:18)=psp(7:12)*2.44948974278317788134d0+psp(19:24)*(-0.612372
$43569579447033d0)+psp(49:54)*(-0.61237243569579447033d0)
sp(19:24)=psp(1:6)+psp(13:18)*(-1.50000000000000000000d0)+psp(43:4
$8)*(-1.50000000000000000000d0)
sp(25:30)=psp(25:30)*2.44948974278317788134d0+psp(37:42)*(-0.61237
$243569579447033d0)+psp(55:60)*(-0.61237243569579447033d0)
sp(31:36)=psp(13:18)*(-1.93649167310370828865d0)+psp(43:48)*1.9364
$9167310370828865d0
sp(37:42)=psp(37:42)*(-2.37170824512628453107d0)+psp(55:60)*0.7905
$6941504209476967d0
do ii=1,7
do ki=1,6
psp((ki-1)*7+ii)=sp((ii-1)*6+ki)
enddo
enddo
sp(1:7)=psp(29:35)*1.73205080756887697113d0
sp(8:14)=psp(8:14)*1.73205080756887697113d0
sp(15:21)=psp(1:7)+psp(15:21)*(-0.50000000000000000000d0)+psp(36:4
$2)*(-0.50000000000000000000d0)
sp(22:28)=psp(22:28)*1.73205080756887697113d0
sp(29:35)=psp(15:21)*(-0.86602540378443848557d0)+psp(36:42)*0.8660
$2540378443848557d0
return
end
subroutine hrrspher_dsg_(psp,sp)
implicit none
integer ii,ki
real*8 sp(54),psp(90)
sp(1:6)=psp(49:54)*(-2.95803989154980806475d0)+psp(79:84)*2.958039
$89154980806475d0
sp(7:12)=psp(19:24)*(-2.09165006633518890666d0)+psp(61:66)*6.27495
$019900556627590d0
sp(13:18)=psp(37:42)*6.70820393249936941515d0+psp(49:54)*(-1.11803
$398874989490253d0)+psp(79:84)*(-1.11803398874989490253d0)
sp(19:24)=psp(7:12)*3.16227766016837907870d0+psp(19:24)*(-2.371708
$24512628453107d0)+psp(61:66)*(-2.37170824512628453107d0)
sp(25:30)=psp(1:6)+psp(13:18)*(-3.00000000000000000000d0)+psp(25:3
$0)*0.37500000000000000000d0+psp(55:60)*(-3.00000000000000000000d0)
$+psp(67:72)*0.75000000000000000000d0+psp(85:90)*0.3750000000000000
$0000d0
sp(31:36)=psp(31:36)*3.16227766016837907870d0+psp(43:48)*(-2.37170
$824512628453107d0)+psp(73:78)*(-2.37170824512628453107d0)
sp(37:42)=psp(13:18)*(-3.35410196624968470758d0)+psp(25:30)*0.5590
$1699437494745126d0+psp(55:60)*3.35410196624968470758d0+psp(85:90)*
$(-0.55901699437494745126d0)
sp(43:48)=psp(43:48)*(-6.27495019900556627590d0)+psp(73:78)*2.0916
$5006633518890666d0
sp(49:54)=psp(25:30)*0.73950997288745201619d0+psp(67:72)*(-4.43705
$983732471231917d0)+psp(85:90)*0.73950997288745201619d0
do ii=1,9
do ki=1,6
psp((ki-1)*9+ii)=sp((ii-1)*6+ki)
enddo
enddo
sp(1:9)=psp(37:45)*1.73205080756887697113d0
sp(10:18)=psp(10:18)*1.73205080756887697113d0
sp(19:27)=psp(1:9)+psp(19:27)*(-0.50000000000000000000d0)+psp(46:5
$4)*(-0.50000000000000000000d0)
sp(28:36)=psp(28:36)*1.73205080756887697113d0
sp(37:45)=psp(19:27)*(-0.86602540378443848557d0)+psp(46:54)*0.8660
$2540378443848557d0
return
end
subroutine hrrspher_dsh_(psp,sp)
implicit none
integer ii,ki
real*8 sp(66),psp(126)
sp(1:6)=psp(31:36)*0.70156076002011391601d0+psp(85:90)*(-7.0156076
$0020113871605d0)+psp(115:120)*3.50780380010056935802d0
sp(7:12)=psp(55:60)*(-8.87411967464942463835d0)+psp(97:102)*8.8741
$1967464942463835d0
sp(13:18)=psp(19:24)*(-4.18330013267037692515d0)+psp(31:36)*0.5229
$1251658379711564d0+psp(73:78)*12.54990039801113255180d0+psp(85:90)
$*(-1.04582503316759423129d0)+psp(115:120)*(-1.56873754975139156898
$d0)
sp(19:24)=psp(43:48)*10.24695076595959974952d0+psp(55:60)*(-5.1234
$7538297979987476d0)+psp(97:102)*(-5.12347538297979987476d0)
sp(25:30)=psp(7:12)*3.87298334620741613321d0+psp(19:24)*(-5.809475
$01931112419982d0)+psp(31:36)*0.48412291827592701665d0+psp(73:78)*(
$-5.80947501931112419982d0)+psp(85:90)*0.96824583655185403330d0+psp
$(115:120)*0.48412291827592701665d0
sp(31:36)=psp(1:6)+psp(13:18)*(-5.00000000000000000000d0)+psp(25:3
$0)*1.87500000000000000000d0+psp(67:72)*(-5.00000000000000000000d0)
$+psp(79:84)*3.75000000000000000000d0+psp(109:114)*1.87500000000000
$000000d0
sp(37:42)=psp(37:42)*3.87298334620741613321d0+psp(49:54)*(-5.80947
$501931112419982d0)+psp(61:66)*0.48412291827592701665d0+psp(91:96)*
$(-5.80947501931112419982d0)+psp(103:108)*0.96824583655185403330d0+
$psp(121:126)*0.48412291827592701665d0
sp(43:48)=psp(13:18)*(-5.12347538297979987476d0)+psp(25:30)*2.5617
$3769148989993738d0+psp(67:72)*5.12347538297979987476d0+psp(109:114
$)*(-2.56173769148989993738d0)
sp(49:54)=psp(49:54)*(-12.54990039801113255180d0)+psp(61:66)*1.568
$73754975139156898d0+psp(91:96)*4.18330013267037692515d0+psp(103:10
$8)*1.04582503316759423129d0+psp(121:126)*(-0.52291251658379711564d
$0)
sp(55:60)=psp(25:30)*2.21852991866235615959d0+psp(79:84)*(-13.3111
$7951197413695752d0)+psp(109:114)*2.21852991866235615959d0
sp(61:66)=psp(61:66)*3.50780380010056935802d0+psp(103:108)*(-7.015
$60760020113871605d0)+psp(121:126)*0.70156076002011391601d0
do ii=1,11
do ki=1,6
psp((ki-1)*11+ii)=sp((ii-1)*6+ki)
enddo
enddo
sp(1:11)=psp(45:55)*1.73205080756887697113d0
sp(12:22)=psp(12:22)*1.73205080756887697113d0
sp(23:33)=psp(1:11)+psp(23:33)*(-0.50000000000000000000d0)+psp(56:
$66)*(-0.50000000000000000000d0)
sp(34:44)=psp(34:44)*1.73205080756887697113d0
sp(45:55)=psp(23:33)*(-0.86602540378443848557d0)+psp(56:66)*0.8660
$2540378443848557d0
return
end
subroutine hrrspher_dsi_(psp,sp)
implicit none
integer ii,ki
real*8 sp(78),psp(168)
sp(1:6)=psp(73:78)*4.03015973628837986809d0+psp(127:132)*(-13.4338
$6578762789973496d0)+psp(157:162)*4.03015973628837986809d0
sp(7:12)=psp(31:36)*2.32681380862329012515d0+psp(97:102)*(-23.2681
$3808623289858701d0)+psp(139:144)*11.63406904311639955552d0
sp(13:18)=psp(61:66)*(-19.84313483298440061731d0)+psp(73:78)*1.984
$31348329843992850d0+psp(115:120)*19.84313483298440061731d0+psp(157
$:162)*(-1.98431348329843992850d0)
sp(19:24)=psp(19:24)*(-7.24568837309471991404d0)+psp(31:36)*2.7171
$3313991052007879d0+psp(85:90)*21.73706511928419971014d0+psp(97:102
$)*(-5.43426627982104015757d0)+psp(139:144)*(-8.1513994197315593481
$8d0)
sp(25:30)=psp(49:54)*14.49137674618940074822d0+psp(61:66)*(-14.491
$37674618940074822d0)+psp(73:78)*0.90571104663683998925d0+psp(115:1
$20)*(-14.49137674618940074822d0)+psp(127:132)*1.811422093273679978
$51d0+psp(157:162)*0.90571104663683998925d0
sp(31:36)=psp(7:12)*4.58257569495583982899d0+psp(19:24)*(-11.45643
$923738959912839d0)+psp(31:36)*2.86410980934739978210d0+psp(85:90)*
$(-11.45643923738959912839d0)+psp(97:102)*5.72821961869479956420d0+
$psp(139:144)*2.86410980934739978210d0
sp(37:42)=psp(1:6)+psp(13:18)*(-7.50000000000000000000d0)+psp(25:3
$0)*5.62500000000000000000d0+psp(37:42)*(-0.31250000000000000000d0)
$+psp(79:84)*(-7.50000000000000000000d0)+psp(91:96)*11.250000000000
$00000000d0+psp(103:108)*(-0.93750000000000000000d0)+psp(133:138)*5
$.62500000000000000000d0+psp(145:150)*(-0.93750000000000000000d0)+p
$sp(163:168)*(-0.31250000000000000000d0)
sp(43:48)=psp(43:48)*4.58257569495583982899d0+psp(55:60)*(-11.4564
$3923738959912839d0)+psp(67:72)*2.86410980934739978210d0+psp(109:11
$4)*(-11.45643923738959912839d0)+psp(121:126)*5.7282196186947995642
$0d0+psp(151:156)*2.86410980934739978210d0
sp(49:54)=psp(13:18)*(-7.24568837309471991404d0)+psp(25:30)*7.2456
$8837309471991404d0+psp(37:42)*(-0.45285552331841999463d0)+psp(79:8
$4)*7.24568837309471991404d0+psp(103:108)*(-0.45285552331841999463d
$0)+psp(133:138)*(-7.24568837309471991404d0)+psp(145:150)*0.4528555
$2331841999463d0+psp(163:168)*0.45285552331841999463d0
sp(55:60)=psp(55:60)*(-21.73706511928419971014d0)+psp(67:72)*8.151
$39941973155934818d0+psp(109:114)*7.24568837309471991404d0+psp(121:
$126)*5.43426627982104015757d0+psp(151:156)*(-2.7171331399105200787
$9d0)
sp(61:66)=psp(25:30)*4.96078370824610992429d0+psp(37:42)*(-0.49607
$837082461098133d0)+psp(91:96)*(-29.76470224947659914960d0)+psp(103
$:108)*2.48039185412305007716d0+psp(133:138)*4.96078370824610992429
$d0+psp(145:150)*2.48039185412305007716d0+psp(163:168)*(-0.49607837
$082461098133d0)
sp(67:72)=psp(67:72)*11.63406904311639955552d0+psp(121:126)*(-23.2
$6813808623289858701d0)+psp(151:156)*2.32681380862329012515d0
sp(73:78)=psp(37:42)*(-0.67169328938139605256d0)+psp(103:108)*10.0
$7539934072089948813d0+psp(145:150)*(-10.07539934072089948813d0)+ps
$p(163:168)*0.67169328938139605256d0
do ii=1,13
do ki=1,6
psp((ki-1)*13+ii)=sp((ii-1)*6+ki)
enddo
enddo
sp(1:13)=psp(53:65)*1.73205080756887697113d0
sp(14:26)=psp(14:26)*1.73205080756887697113d0
sp(27:39)=psp(1:13)+psp(27:39)*(-0.50000000000000000000d0)+psp(66:
$78)*(-0.50000000000000000000d0)
sp(40:52)=psp(40:52)*1.73205080756887697113d0
sp(53:65)=psp(27:39)*(-0.86602540378443848557d0)+psp(66:78)*0.8660
$2540378443848557d0
return
end
subroutine hrrspher_dps_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(18),psp(16)
real*8 psp2(18)
real*8 xab,yab,zab
psp2(1)=psp(7)+zab*psp(1)
psp2(2)=psp(8)+yab*psp(1)
psp2(3)=psp(11)+xab*psp(1)
psp2(4)=psp(8)+zab*psp(2)
psp2(5)=psp(9)+yab*psp(2)
psp2(6)=psp(12)+xab*psp(2)
psp2(7)=psp(9)+zab*psp(3)
psp2(8)=psp(10)+yab*psp(3)
psp2(9)=psp(13)+xab*psp(3)
psp2(10)=psp(11)+zab*psp(4)
psp2(11)=psp(12)+yab*psp(4)
psp2(12)=psp(14)+xab*psp(4)
psp2(13)=psp(12)+zab*psp(5)
psp2(14)=psp(13)+yab*psp(5)
psp2(15)=psp(15)+xab*psp(5)
psp2(16)=psp(14)+zab*psp(6)
psp2(17)=psp(15)+yab*psp(6)
psp2(18)=psp(16)+xab*psp(6)
sp(1:3)=psp2(13:15)*1.73205080756887697113d0
sp(4:6)=psp2(4:6)*1.73205080756887697113d0
sp(7:9)=psp2(1:3)+psp2(7:9)*(-0.50000000000000000000d0)+psp2(16:18
$)*(-0.50000000000000000000d0)
sp(10:12)=psp2(10:12)*1.73205080756887697113d0
sp(13:15)=psp2(7:9)*(-0.86602540378443848557d0)+psp2(16:18)*0.8660
$2540378443848557d0
return
end
subroutine hrrspher_dpp_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(54),psp(48)
real*8 psp2(54)
real*8 xab,yab,zab
psp2(1:3)=psp(19:21)+zab*psp(1:3)
psp2(4:6)=psp(22:24)+yab*psp(1:3)
psp2(7:9)=psp(31:33)+xab*psp(1:3)
psp2(10:12)=psp(22:24)+zab*psp(4:6)
psp2(13:15)=psp(25:27)+yab*psp(4:6)
psp2(16:18)=psp(34:36)+xab*psp(4:6)
psp2(19:21)=psp(25:27)+zab*psp(7:9)
psp2(22:24)=psp(28:30)+yab*psp(7:9)
psp2(25:27)=psp(37:39)+xab*psp(7:9)
psp2(28:30)=psp(31:33)+zab*psp(10:12)
psp2(31:33)=psp(34:36)+yab*psp(10:12)
psp2(34:36)=psp(40:42)+xab*psp(10:12)
psp2(37:39)=psp(34:36)+zab*psp(13:15)
psp2(40:42)=psp(37:39)+yab*psp(13:15)
psp2(43:45)=psp(43:45)+xab*psp(13:15)
psp2(46:48)=psp(40:42)+zab*psp(16:18)
psp2(49:51)=psp(43:45)+yab*psp(16:18)
psp2(52:54)=psp(46:48)+xab*psp(16:18)
sp(1:9)=psp2(37:45)*1.73205080756887697113d0
sp(10:18)=psp2(10:18)*1.73205080756887697113d0
sp(19:27)=psp2(1:9)+psp2(19:27)*(-0.50000000000000000000d0)+psp2(4
$6:54)*(-0.50000000000000000000d0)
sp(28:36)=psp2(28:36)*1.73205080756887697113d0
sp(37:45)=psp2(19:27)*(-0.86602540378443848557d0)+psp2(46:54)*0.86
$602540378443848557d0
return
end
subroutine hrrspher_dpd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(90),psp(96)
real*8 psp2(90)
real*8 xab,yab,zab
sp(1:16)=psp(65:80)*1.73205080756887697113d0
sp(17:32)=psp(17:32)*1.73205080756887697113d0
sp(33:48)=psp(1:16)+psp(33:48)*(-0.50000000000000000000d0)+psp(81:
$96)*(-0.50000000000000000000d0)
sp(49:64)=psp(49:64)*1.73205080756887697113d0
sp(65:80)=psp(33:48)*(-0.86602540378443848557d0)+psp(81:96)*0.8660
$2540378443848557d0
do ii=1,5
ji=(ii-1)*16
do ki=1,16
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
psp2(1:5)=psp(31:35)+zab*psp(1:5)
psp2(6:10)=psp(36:40)+yab*psp(1:5)
psp2(11:15)=psp(51:55)+xab*psp(1:5)
psp2(16:20)=psp(36:40)+zab*psp(6:10)
psp2(21:25)=psp(41:45)+yab*psp(6:10)
psp2(26:30)=psp(56:60)+xab*psp(6:10)
psp2(31:35)=psp(41:45)+zab*psp(11:15)
psp2(36:40)=psp(46:50)+yab*psp(11:15)
psp2(41:45)=psp(61:65)+xab*psp(11:15)
psp2(46:50)=psp(51:55)+zab*psp(16:20)
psp2(51:55)=psp(56:60)+yab*psp(16:20)
psp2(56:60)=psp(66:70)+xab*psp(16:20)
psp2(61:65)=psp(56:60)+zab*psp(21:25)
psp2(66:70)=psp(61:65)+yab*psp(21:25)
psp2(71:75)=psp(71:75)+xab*psp(21:25)
psp2(76:80)=psp(66:70)+zab*psp(26:30)
psp2(81:85)=psp(71:75)+yab*psp(26:30)
psp2(86:90)=psp(76:80)+xab*psp(26:30)
sp(1:15)=psp2(61:75)*1.73205080756887697113d0
sp(16:30)=psp2(16:30)*1.73205080756887697113d0
sp(31:45)=psp2(1:15)+psp2(31:45)*(-0.50000000000000000000d0)+psp2(
$76:90)*(-0.50000000000000000000d0)
sp(46:60)=psp2(46:60)*1.73205080756887697113d0
sp(61:75)=psp2(31:45)*(-0.86602540378443848557d0)+psp2(76:90)*0.86
$602540378443848557d0
return
end
subroutine hrrspher_dpf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(126),psp(160)
real*8 psp2(126)
real*8 xab,yab,zab
sp(1:16)=psp(49:64)*(-0.79056941504209476967d0)+psp(129:144)*2.371
$70824512628453107d0
sp(17:32)=psp(81:96)*3.87298334620741657730d0
sp(33:48)=psp(17:32)*2.44948974278317788134d0+psp(49:64)*(-0.61237
$243569579447033d0)+psp(129:144)*(-0.61237243569579447033d0)
sp(49:64)=psp(1:16)+psp(33:48)*(-1.50000000000000000000d0)+psp(113
$:128)*(-1.50000000000000000000d0)
sp(65:80)=psp(65:80)*2.44948974278317788134d0+psp(97:112)*(-0.6123
$7243569579447033d0)+psp(145:160)*(-0.61237243569579447033d0)
sp(81:96)=psp(33:48)*(-1.93649167310370828865d0)+psp(113:128)*1.93
$649167310370828865d0
sp(97:112)=psp(97:112)*(-2.37170824512628453107d0)+psp(145:160)*0.
$79056941504209476967d0
do ii=1,7
ji=(ii-1)*16
do ki=1,16
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
psp2(1:7)=psp(43:49)+zab*psp(1:7)
psp2(8:14)=psp(50:56)+yab*psp(1:7)
psp2(15:21)=psp(71:77)+xab*psp(1:7)
psp2(22:28)=psp(50:56)+zab*psp(8:14)
psp2(29:35)=psp(57:63)+yab*psp(8:14)
psp2(36:42)=psp(78:84)+xab*psp(8:14)
psp2(43:49)=psp(57:63)+zab*psp(15:21)
psp2(50:56)=psp(64:70)+yab*psp(15:21)
psp2(57:63)=psp(85:91)+xab*psp(15:21)
psp2(64:70)=psp(71:77)+zab*psp(22:28)
psp2(71:77)=psp(78:84)+yab*psp(22:28)
psp2(78:84)=psp(92:98)+xab*psp(22:28)
psp2(85:91)=psp(78:84)+zab*psp(29:35)
psp2(92:98)=psp(85:91)+yab*psp(29:35)
psp2(99:105)=psp(99:105)+xab*psp(29:35)
psp2(106:112)=psp(92:98)+zab*psp(36:42)
psp2(113:119)=psp(99:105)+yab*psp(36:42)
psp2(120:126)=psp(106:112)+xab*psp(36:42)
sp(1:21)=psp2(85:105)*1.73205080756887697113d0
sp(22:42)=psp2(22:42)*1.73205080756887697113d0
sp(43:63)=psp2(1:21)+psp2(43:63)*(-0.50000000000000000000d0)+psp2(
$106:126)*(-0.50000000000000000000d0)
sp(64:84)=psp2(64:84)*1.73205080756887697113d0
sp(85:105)=psp2(43:63)*(-0.86602540378443848557d0)+psp2(106:126)*0
$.86602540378443848557d0
return
end
subroutine hrrspher_dpg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(162),psp(240)
real*8 psp2(162)
real*8 xab,yab,zab
sp(1:16)=psp(129:144)*(-2.95803989154980806475d0)+psp(209:224)*2.9
$5803989154980806475d0
sp(17:32)=psp(49:64)*(-2.09165006633518890666d0)+psp(161:176)*6.27
$495019900556627590d0
sp(33:48)=psp(97:112)*6.70820393249936941515d0+psp(129:144)*(-1.11
$803398874989490253d0)+psp(209:224)*(-1.11803398874989490253d0)
sp(49:64)=psp(17:32)*3.16227766016837907870d0+psp(49:64)*(-2.37170
$824512628453107d0)+psp(161:176)*(-2.37170824512628453107d0)
sp(65:80)=psp(1:16)+psp(33:48)*(-3.00000000000000000000d0)+psp(65:
$80)*0.37500000000000000000d0+psp(145:160)*(-3.00000000000000000000
$d0)+psp(177:192)*0.75000000000000000000d0+psp(225:240)*0.375000000
$00000000000d0
sp(81:96)=psp(81:96)*3.16227766016837907870d0+psp(113:128)*(-2.371
$70824512628453107d0)+psp(193:208)*(-2.37170824512628453107d0)
sp(97:112)=psp(33:48)*(-3.35410196624968470758d0)+psp(65:80)*0.559
$01699437494745126d0+psp(145:160)*3.35410196624968470758d0+psp(225:
$240)*(-0.55901699437494745126d0)
sp(113:128)=psp(113:128)*(-6.27495019900556627590d0)+psp(193:208)*
$2.09165006633518890666d0
sp(129:144)=psp(65:80)*0.73950997288745201619d0+psp(177:192)*(-4.4
$3705983732471231917d0)+psp(225:240)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*16
do ki=1,16
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
psp2(1:9)=psp(55:63)+zab*psp(1:9)
psp2(10:18)=psp(64:72)+yab*psp(1:9)
psp2(19:27)=psp(91:99)+xab*psp(1:9)
psp2(28:36)=psp(64:72)+zab*psp(10:18)
psp2(37:45)=psp(73:81)+yab*psp(10:18)
psp2(46:54)=psp(100:108)+xab*psp(10:18)
psp2(55:63)=psp(73:81)+zab*psp(19:27)
psp2(64:72)=psp(82:90)+yab*psp(19:27)
psp2(73:81)=psp(109:117)+xab*psp(19:27)
psp2(82:90)=psp(91:99)+zab*psp(28:36)
psp2(91:99)=psp(100:108)+yab*psp(28:36)
psp2(100:108)=psp(118:126)+xab*psp(28:36)
psp2(109:117)=psp(100:108)+zab*psp(37:45)
psp2(118:126)=psp(109:117)+yab*psp(37:45)
psp2(127:135)=psp(127:135)+xab*psp(37:45)
psp2(136:144)=psp(118:126)+zab*psp(46:54)
psp2(145:153)=psp(127:135)+yab*psp(46:54)
psp2(154:162)=psp(136:144)+xab*psp(46:54)
sp(1:27)=psp2(109:135)*1.73205080756887697113d0
sp(28:54)=psp2(28:54)*1.73205080756887697113d0
sp(55:81)=psp2(1:27)+psp2(55:81)*(-0.50000000000000000000d0)+psp2(
$136:162)*(-0.50000000000000000000d0)
sp(82:108)=psp2(82:108)*1.73205080756887697113d0
sp(109:135)=psp2(55:81)*(-0.86602540378443848557d0)+psp2(136:162)*
$0.86602540378443848557d0
return
end
subroutine hrrspher_dph_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(198),psp(336)
real*8 psp2(198)
real*8 xab,yab,zab
sp(1:16)=psp(81:96)*0.70156076002011391601d0+psp(225:240)*(-7.0156
$0760020113871605d0)+psp(305:320)*3.50780380010056935802d0
sp(17:32)=psp(145:160)*(-8.87411967464942463835d0)+psp(257:272)*8.
$87411967464942463835d0
sp(33:48)=psp(49:64)*(-4.18330013267037692515d0)+psp(81:96)*0.5229
$1251658379711564d0+psp(193:208)*12.54990039801113255180d0+psp(225:
$240)*(-1.04582503316759423129d0)+psp(305:320)*(-1.5687375497513915
$6898d0)
sp(49:64)=psp(113:128)*10.24695076595959974952d0+psp(145:160)*(-5.
$12347538297979987476d0)+psp(257:272)*(-5.12347538297979987476d0)
sp(65:80)=psp(17:32)*3.87298334620741613321d0+psp(49:64)*(-5.80947
$501931112419982d0)+psp(81:96)*0.48412291827592701665d0+psp(193:208
$)*(-5.80947501931112419982d0)+psp(225:240)*0.96824583655185403330d
$0+psp(305:320)*0.48412291827592701665d0
sp(81:96)=psp(1:16)+psp(33:48)*(-5.00000000000000000000d0)+psp(65:
$80)*1.87500000000000000000d0+psp(177:192)*(-5.00000000000000000000
$d0)+psp(209:224)*3.75000000000000000000d0+psp(289:304)*1.875000000
$00000000000d0
sp(97:112)=psp(97:112)*3.87298334620741613321d0+psp(129:144)*(-5.8
$0947501931112419982d0)+psp(161:176)*0.48412291827592701665d0+psp(2
$41:256)*(-5.80947501931112419982d0)+psp(273:288)*0.968245836551854
$03330d0+psp(321:336)*0.48412291827592701665d0
sp(113:128)=psp(33:48)*(-5.12347538297979987476d0)+psp(65:80)*2.56
$173769148989993738d0+psp(177:192)*5.12347538297979987476d0+psp(289
$:304)*(-2.56173769148989993738d0)
sp(129:144)=psp(129:144)*(-12.54990039801113255180d0)+psp(161:176)
$*1.56873754975139156898d0+psp(241:256)*4.18330013267037692515d0+ps
$p(273:288)*1.04582503316759423129d0+psp(321:336)*(-0.5229125165837
$9711564d0)
sp(145:160)=psp(65:80)*2.21852991866235615959d0+psp(209:224)*(-13.
$31117951197413695752d0)+psp(289:304)*2.21852991866235615959d0
sp(161:176)=psp(161:176)*3.50780380010056935802d0+psp(273:288)*(-7
$.01560760020113871605d0)+psp(321:336)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*16
do ki=1,16
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
psp2(1:11)=psp(67:77)+zab*psp(1:11)
psp2(12:22)=psp(78:88)+yab*psp(1:11)
psp2(23:33)=psp(111:121)+xab*psp(1:11)
psp2(34:44)=psp(78:88)+zab*psp(12:22)
psp2(45:55)=psp(89:99)+yab*psp(12:22)
psp2(56:66)=psp(122:132)+xab*psp(12:22)
psp2(67:77)=psp(89:99)+zab*psp(23:33)
psp2(78:88)=psp(100:110)+yab*psp(23:33)
psp2(89:99)=psp(133:143)+xab*psp(23:33)
psp2(100:110)=psp(111:121)+zab*psp(34:44)
psp2(111:121)=psp(122:132)+yab*psp(34:44)
psp2(122:132)=psp(144:154)+xab*psp(34:44)
psp2(133:143)=psp(122:132)+zab*psp(45:55)
psp2(144:154)=psp(133:143)+yab*psp(45:55)
psp2(155:165)=psp(155:165)+xab*psp(45:55)
psp2(166:176)=psp(144:154)+zab*psp(56:66)
psp2(177:187)=psp(155:165)+yab*psp(56:66)
psp2(188:198)=psp(166:176)+xab*psp(56:66)
sp(1:33)=psp2(133:165)*1.73205080756887697113d0
sp(34:66)=psp2(34:66)*1.73205080756887697113d0
sp(67:99)=psp2(1:33)+psp2(67:99)*(-0.50000000000000000000d0)+psp2(
$166:198)*(-0.50000000000000000000d0)
sp(100:132)=psp2(100:132)*1.73205080756887697113d0
sp(133:165)=psp2(67:99)*(-0.86602540378443848557d0)+psp2(166:198)*
$0.86602540378443848557d0
return
end
subroutine hrrspher_dpi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(234),psp(448)
real*8 psp2(234)
real*8 xab,yab,zab
sp(1:16)=psp(193:208)*4.03015973628837986809d0+psp(337:352)*(-13.4
$3386578762789973496d0)+psp(417:432)*4.03015973628837986809d0
sp(17:32)=psp(81:96)*2.32681380862329012515d0+psp(257:272)*(-23.26
$813808623289858701d0)+psp(369:384)*11.63406904311639955552d0
sp(33:48)=psp(161:176)*(-19.84313483298440061731d0)+psp(193:208)*1
$.98431348329843992850d0+psp(305:320)*19.84313483298440061731d0+psp
$(417:432)*(-1.98431348329843992850d0)
sp(49:64)=psp(49:64)*(-7.24568837309471991404d0)+psp(81:96)*2.7171
$3313991052007879d0+psp(225:240)*21.73706511928419971014d0+psp(257:
$272)*(-5.43426627982104015757d0)+psp(369:384)*(-8.1513994197315593
$4818d0)
sp(65:80)=psp(129:144)*14.49137674618940074822d0+psp(161:176)*(-14
$.49137674618940074822d0)+psp(193:208)*0.90571104663683998925d0+psp
$(305:320)*(-14.49137674618940074822d0)+psp(337:352)*1.811422093273
$67997851d0+psp(417:432)*0.90571104663683998925d0
sp(81:96)=psp(17:32)*4.58257569495583982899d0+psp(49:64)*(-11.4564
$3923738959912839d0)+psp(81:96)*2.86410980934739978210d0+psp(225:24
$0)*(-11.45643923738959912839d0)+psp(257:272)*5.7282196186947995642
$0d0+psp(369:384)*2.86410980934739978210d0
sp(97:112)=psp(1:16)+psp(33:48)*(-7.50000000000000000000d0)+psp(65
$:80)*5.62500000000000000000d0+psp(97:112)*(-0.31250000000000000000
$d0)+psp(209:224)*(-7.50000000000000000000d0)+psp(241:256)*11.25000
$000000000000000d0+psp(273:288)*(-0.93750000000000000000d0)+psp(353
$:368)*5.62500000000000000000d0+psp(385:400)*(-0.937500000000000000
$00d0)+psp(433:448)*(-0.31250000000000000000d0)
sp(113:128)=psp(113:128)*4.58257569495583982899d0+psp(145:160)*(-1
$1.45643923738959912839d0)+psp(177:192)*2.86410980934739978210d0+ps
$p(289:304)*(-11.45643923738959912839d0)+psp(321:336)*5.72821961869
$479956420d0+psp(401:416)*2.86410980934739978210d0
sp(129:144)=psp(33:48)*(-7.24568837309471991404d0)+psp(65:80)*7.24
$568837309471991404d0+psp(97:112)*(-0.45285552331841999463d0)+psp(2
$09:224)*7.24568837309471991404d0+psp(273:288)*(-0.4528555233184199
$9463d0)+psp(353:368)*(-7.24568837309471991404d0)+psp(385:400)*0.45
$285552331841999463d0+psp(433:448)*0.45285552331841999463d0
sp(145:160)=psp(145:160)*(-21.73706511928419971014d0)+psp(177:192)
$*8.15139941973155934818d0+psp(289:304)*7.24568837309471991404d0+ps
$p(321:336)*5.43426627982104015757d0+psp(401:416)*(-2.7171331399105
$2007879d0)
sp(161:176)=psp(65:80)*4.96078370824610992429d0+psp(97:112)*(-0.49
$607837082461098133d0)+psp(241:256)*(-29.76470224947659914960d0)+ps
$p(273:288)*2.48039185412305007716d0+psp(353:368)*4.960783708246109
$92429d0+psp(385:400)*2.48039185412305007716d0+psp(433:448)*(-0.496
$07837082461098133d0)
sp(177:192)=psp(177:192)*11.63406904311639955552d0+psp(321:336)*(-
$23.26813808623289858701d0)+psp(401:416)*2.32681380862329012515d0
sp(193:208)=psp(97:112)*(-0.67169328938139605256d0)+psp(273:288)*1
$0.07539934072089948813d0+psp(385:400)*(-10.07539934072089948813d0)
$+psp(433:448)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*16
do ki=1,16
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
psp2(1:13)=psp(79:91)+zab*psp(1:13)
psp2(14:26)=psp(92:104)+yab*psp(1:13)
psp2(27:39)=psp(131:143)+xab*psp(1:13)
psp2(40:52)=psp(92:104)+zab*psp(14:26)
psp2(53:65)=psp(105:117)+yab*psp(14:26)
psp2(66:78)=psp(144:156)+xab*psp(14:26)
psp2(79:91)=psp(105:117)+zab*psp(27:39)
psp2(92:104)=psp(118:130)+yab*psp(27:39)
psp2(105:117)=psp(157:169)+xab*psp(27:39)
psp2(118:130)=psp(131:143)+zab*psp(40:52)
psp2(131:143)=psp(144:156)+yab*psp(40:52)
psp2(144:156)=psp(170:182)+xab*psp(40:52)
psp2(157:169)=psp(144:156)+zab*psp(53:65)
psp2(170:182)=psp(157:169)+yab*psp(53:65)
psp2(183:195)=psp(183:195)+xab*psp(53:65)
psp2(196:208)=psp(170:182)+zab*psp(66:78)
psp2(209:221)=psp(183:195)+yab*psp(66:78)
psp2(222:234)=psp(196:208)+xab*psp(66:78)
sp(1:39)=psp2(157:195)*1.73205080756887697113d0
sp(40:78)=psp2(40:78)*1.73205080756887697113d0
sp(79:117)=psp2(1:39)+psp2(79:117)*(-0.50000000000000000000d0)+psp
$2(196:234)*(-0.50000000000000000000d0)
sp(118:156)=psp2(118:156)*1.73205080756887697113d0
sp(157:195)=psp2(79:117)*(-0.86602540378443848557d0)+psp2(196:234)
$*0.86602540378443848557d0
return
end
subroutine hrrspher_dds_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(36),psp(31)
real*8 psp2(36)
real*8 dps(18),fps(30),xab,yab,zab
dps(1:3)=psp(7:9)+zab*psp(1:3)
dps(4:5)=psp(11:12)+zab*psp(4:5)
dps(6)=psp(14)+zab*psp(6)
dps(7:9)=psp(8:10)+yab*psp(1:3)
dps(10:11)=psp(12:13)+yab*psp(4:5)
dps(12)=psp(15)+yab*psp(6)
dps(13:18)=psp(11:16)+xab*psp(1:6)
fps(1:4)=psp(17:20)+zab*psp(7:10)
fps(5:7)=psp(22:24)+zab*psp(11:13)
fps(8:9)=psp(26:27)+zab*psp(14:15)
fps(10)=psp(29)+zab*psp(16)
fps(11:14)=psp(18:21)+yab*psp(7:10)
fps(15:17)=psp(23:25)+yab*psp(11:13)
fps(18:19)=psp(27:28)+yab*psp(14:15)
fps(20)=psp(30)+yab*psp(16)
fps(21:30)=psp(22:31)+xab*psp(7:16)
psp2(1:3)=fps(1:3)+zab*dps(1:3)
psp2(4:5)=fps(5:6)+zab*dps(4:5)
psp2(6)=fps(8)+zab*dps(6)
psp2(7:9)=fps(11:13)+zab*dps(7:9)
psp2(10:11)=fps(15:16)+zab*dps(10:11)
psp2(12)=fps(18)+zab*dps(12)
psp2(13:15)=fps(12:14)+yab*dps(7:9)
psp2(16:17)=fps(16:17)+yab*dps(10:11)
psp2(18)=fps(19)+yab*dps(12)
psp2(19:21)=fps(21:23)+zab*dps(13:15)
psp2(22:23)=fps(25:26)+zab*dps(16:17)
psp2(24)=fps(28)+zab*dps(18)
psp2(25:27)=fps(22:24)+yab*dps(13:15)
psp2(28:29)=fps(26:27)+yab*dps(16:17)
psp2(30)=fps(29)+yab*dps(18)
psp2(31:36)=fps(25:30)+xab*dps(13:18)
sp(1:6)=psp2(25:30)*1.73205080756887697113d0
sp(7:12)=psp2(7:12)*1.73205080756887697113d0
sp(13:18)=psp2(1:6)+psp2(13:18)*(-0.50000000000000000000d0)+psp2(3
$1:36)*(-0.50000000000000000000d0)
sp(19:24)=psp2(19:24)*1.73205080756887697113d0
sp(25:30)=psp2(13:18)*(-0.86602540378443848557d0)+psp2(31:36)*0.86
$602540378443848557d0
do ji=1,6
ii=(ji-1)*5
do ki=1,5
psp2(ii+ki)=sp((ki-1)*6+ji)
enddo
enddo
sp(1:5)=psp2(21:25)*1.73205080756887697113d0
sp(6:10)=psp2(6:10)*1.73205080756887697113d0
sp(11:15)=psp2(1:5)+psp2(11:15)*(-0.50000000000000000000d0)+psp2(2
$6:30)*(-0.50000000000000000000d0)
sp(16:20)=psp2(16:20)*1.73205080756887697113d0
sp(21:25)=psp2(11:15)*(-0.86602540378443848557d0)+psp2(26:30)*0.86
$602540378443848557d0
return
end
subroutine hrrspher_ddp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(108),psp(93)
real*8 psp2(108)
real*8 dpp(54),fpp(90),xab,yab,zab
dpp(1:9)=psp(19:27)+zab*psp(1:9)
dpp(10:15)=psp(31:36)+zab*psp(10:15)
dpp(16:18)=psp(40:42)+zab*psp(16:18)
dpp(19:27)=psp(22:30)+yab*psp(1:9)
dpp(28:33)=psp(34:39)+yab*psp(10:15)
dpp(34:36)=psp(43:45)+yab*psp(16:18)
dpp(37:54)=psp(31:48)+xab*psp(1:18)
fpp(1:12)=psp(49:60)+zab*psp(19:30)
fpp(13:21)=psp(64:72)+zab*psp(31:39)
fpp(22:27)=psp(76:81)+zab*psp(40:45)
fpp(28:30)=psp(85:87)+zab*psp(46:48)
fpp(31:42)=psp(52:63)+yab*psp(19:30)
fpp(43:51)=psp(67:75)+yab*psp(31:39)
fpp(52:57)=psp(79:84)+yab*psp(40:45)
fpp(58:60)=psp(88:90)+yab*psp(46:48)
fpp(61:90)=psp(64:93)+xab*psp(19:48)
psp2(1:9)=fpp(1:9)+zab*dpp(1:9)
psp2(10:15)=fpp(13:18)+zab*dpp(10:15)
psp2(16:18)=fpp(22:24)+zab*dpp(16:18)
psp2(19:27)=fpp(31:39)+zab*dpp(19:27)
psp2(28:33)=fpp(43:48)+zab*dpp(28:33)
psp2(34:36)=fpp(52:54)+zab*dpp(34:36)
psp2(37:45)=fpp(34:42)+yab*dpp(19:27)
psp2(46:51)=fpp(46:51)+yab*dpp(28:33)
psp2(52:54)=fpp(55:57)+yab*dpp(34:36)
psp2(55:63)=fpp(61:69)+zab*dpp(37:45)
psp2(64:69)=fpp(73:78)+zab*dpp(46:51)
psp2(70:72)=fpp(82:84)+zab*dpp(52:54)
psp2(73:81)=fpp(64:72)+yab*dpp(37:45)
psp2(82:87)=fpp(76:81)+yab*dpp(46:51)
psp2(88:90)=fpp(85:87)+yab*dpp(52:54)
psp2(91:108)=fpp(73:90)+xab*dpp(37:54)
sp(1:18)=psp2(73:90)*1.73205080756887697113d0
sp(19:36)=psp2(19:36)*1.73205080756887697113d0
sp(37:54)=psp2(1:18)+psp2(37:54)*(-0.50000000000000000000d0)+psp2(
$91:108)*(-0.50000000000000000000d0)
sp(55:72)=psp2(55:72)*1.73205080756887697113d0
sp(73:90)=psp2(37:54)*(-0.86602540378443848557d0)+psp2(91:108)*0.8
$6602540378443848557d0
do ji=0,4
ki=ji*18
jk=ji*3
do ii=0,5
k=ii*3
il=ii*15
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:15)=psp2(61:75)*1.73205080756887697113d0
sp(16:30)=psp2(16:30)*1.73205080756887697113d0
sp(31:45)=psp2(1:15)+psp2(31:45)*(-0.50000000000000000000d0)+psp2(
$76:90)*(-0.50000000000000000000d0)
sp(46:60)=psp2(46:60)*1.73205080756887697113d0
sp(61:75)=psp2(31:45)*(-0.86602540378443848557d0)+psp2(76:90)*0.86
$602540378443848557d0
return
end
subroutine hrrspher_ddd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(180),psp(186)
real*8 dpd(90),fpd(150),xab,yab,zab
sp(1:31)=psp(125:155)*1.73205080756887697113d0
sp(32:62)=psp(32:62)*1.73205080756887697113d0
sp(63:93)=psp(1:31)+psp(63:93)*(-0.50000000000000000000d0)+psp(156
$:186)*(-0.50000000000000000000d0)
sp(94:124)=psp(94:124)*1.73205080756887697113d0
sp(125:155)=psp(63:93)*(-0.86602540378443848557d0)+psp(156:186)*0.
$86602540378443848557d0
do ii=1,5
ji=(ii-1)*31
do ki=1,31
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
dpd(1:15)=psp(31:45)+zab*psp(1:15)
dpd(16:25)=psp(51:60)+zab*psp(16:25)
dpd(26:30)=psp(66:70)+zab*psp(26:30)
dpd(31:45)=psp(36:50)+yab*psp(1:15)
dpd(46:55)=psp(56:65)+yab*psp(16:25)
dpd(56:60)=psp(71:75)+yab*psp(26:30)
dpd(61:90)=psp(51:80)+xab*psp(1:30)
fpd(1:20)=psp(81:100)+zab*psp(31:50)
fpd(21:35)=psp(106:120)+zab*psp(51:65)
fpd(36:45)=psp(126:135)+zab*psp(66:75)
fpd(46:50)=psp(141:145)+zab*psp(76:80)
fpd(51:70)=psp(86:105)+yab*psp(31:50)
fpd(71:85)=psp(111:125)+yab*psp(51:65)
fpd(86:95)=psp(131:140)+yab*psp(66:75)
fpd(96:100)=psp(146:150)+yab*psp(76:80)
fpd(101:150)=psp(106:155)+xab*psp(31:80)
psp(1:15)=fpd(1:15)+zab*dpd(1:15)
psp(16:25)=fpd(21:30)+zab*dpd(16:25)
psp(26:30)=fpd(36:40)+zab*dpd(26:30)
psp(31:45)=fpd(51:65)+zab*dpd(31:45)
psp(46:55)=fpd(71:80)+zab*dpd(46:55)
psp(56:60)=fpd(86:90)+zab*dpd(56:60)
psp(61:75)=fpd(56:70)+yab*dpd(31:45)
psp(76:85)=fpd(76:85)+yab*dpd(46:55)
psp(86:90)=fpd(91:95)+yab*dpd(56:60)
psp(91:105)=fpd(101:115)+zab*dpd(61:75)
psp(106:115)=fpd(121:130)+zab*dpd(76:85)
psp(116:120)=fpd(136:140)+zab*dpd(86:90)
psp(121:135)=fpd(106:120)+yab*dpd(61:75)
psp(136:145)=fpd(126:135)+yab*dpd(76:85)
psp(146:150)=fpd(141:145)+yab*dpd(86:90)
psp(151:180)=fpd(121:150)+xab*dpd(61:90)
sp(1:30)=psp(121:150)*1.73205080756887697113d0
sp(31:60)=psp(31:60)*1.73205080756887697113d0
sp(61:90)=psp(1:30)+psp(61:90)*(-0.50000000000000000000d0)+psp(151
$:180)*(-0.50000000000000000000d0)
sp(91:120)=psp(91:120)*1.73205080756887697113d0
sp(121:150)=psp(61:90)*(-0.86602540378443848557d0)+psp(151:180)*0.
$86602540378443848557d0
do ji=0,4
ki=ji*30
jk=ji*5
do ii=0,5
k=ii*5
il=ii*25
do ik=1,5
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:25)=psp(101:125)*1.73205080756887697113d0
sp(26:50)=psp(26:50)*1.73205080756887697113d0
sp(51:75)=psp(1:25)+psp(51:75)*(-0.50000000000000000000d0)+psp(126
$:150)*(-0.50000000000000000000d0)
sp(76:100)=psp(76:100)*1.73205080756887697113d0
sp(101:125)=psp(51:75)*(-0.86602540378443848557d0)+psp(126:150)*0.
$86602540378443848557d0
return
end
subroutine hrrspher_ddf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(252),psp(310)
real*8 dpf(126),fpf(210),xab,yab,zab
sp(1:31)=psp(94:124)*(-0.79056941504209476967d0)+psp(249:279)*2.37
$170824512628453107d0
sp(32:62)=psp(156:186)*3.87298334620741657730d0
sp(63:93)=psp(32:62)*2.44948974278317788134d0+psp(94:124)*(-0.6123
$7243569579447033d0)+psp(249:279)*(-0.61237243569579447033d0)
sp(94:124)=psp(1:31)+psp(63:93)*(-1.50000000000000000000d0)+psp(21
$8:248)*(-1.50000000000000000000d0)
sp(125:155)=psp(125:155)*2.44948974278317788134d0+psp(187:217)*(-0
$.61237243569579447033d0)+psp(280:310)*(-0.61237243569579447033d0)
sp(156:186)=psp(63:93)*(-1.93649167310370828865d0)+psp(218:248)*1.
$93649167310370828865d0
sp(187:217)=psp(187:217)*(-2.37170824512628453107d0)+psp(280:310)*
$0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*31
do ki=1,31
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
dpf(1:21)=psp(43:63)+zab*psp(1:21)
dpf(22:35)=psp(71:84)+zab*psp(22:35)
dpf(36:42)=psp(92:98)+zab*psp(36:42)
dpf(43:63)=psp(50:70)+yab*psp(1:21)
dpf(64:77)=psp(78:91)+yab*psp(22:35)
dpf(78:84)=psp(99:105)+yab*psp(36:42)
dpf(85:126)=psp(71:112)+xab*psp(1:42)
fpf(1:28)=psp(113:140)+zab*psp(43:70)
fpf(29:49)=psp(148:168)+zab*psp(71:91)
fpf(50:63)=psp(176:189)+zab*psp(92:105)
fpf(64:70)=psp(197:203)+zab*psp(106:112)
fpf(71:98)=psp(120:147)+yab*psp(43:70)
fpf(99:119)=psp(155:175)+yab*psp(71:91)
fpf(120:133)=psp(183:196)+yab*psp(92:105)
fpf(134:140)=psp(204:210)+yab*psp(106:112)
fpf(141:210)=psp(148:217)+xab*psp(43:112)
psp(1:21)=fpf(1:21)+zab*dpf(1:21)
psp(22:35)=fpf(29:42)+zab*dpf(22:35)
psp(36:42)=fpf(50:56)+zab*dpf(36:42)
psp(43:63)=fpf(71:91)+zab*dpf(43:63)
psp(64:77)=fpf(99:112)+zab*dpf(64:77)
psp(78:84)=fpf(120:126)+zab*dpf(78:84)
psp(85:105)=fpf(78:98)+yab*dpf(43:63)
psp(106:119)=fpf(106:119)+yab*dpf(64:77)
psp(120:126)=fpf(127:133)+yab*dpf(78:84)
psp(127:147)=fpf(141:161)+zab*dpf(85:105)
psp(148:161)=fpf(169:182)+zab*dpf(106:119)
psp(162:168)=fpf(190:196)+zab*dpf(120:126)
psp(169:189)=fpf(148:168)+yab*dpf(85:105)
psp(190:203)=fpf(176:189)+yab*dpf(106:119)
psp(204:210)=fpf(197:203)+yab*dpf(120:126)
psp(211:252)=fpf(169:210)+xab*dpf(85:126)
sp(1:42)=psp(169:210)*1.73205080756887697113d0
sp(43:84)=psp(43:84)*1.73205080756887697113d0
sp(85:126)=psp(1:42)+psp(85:126)*(-0.50000000000000000000d0)+psp(2
$11:252)*(-0.50000000000000000000d0)
sp(127:168)=psp(127:168)*1.73205080756887697113d0
sp(169:210)=psp(85:126)*(-0.86602540378443848557d0)+psp(211:252)*0
$.86602540378443848557d0
do ji=0,4
ki=ji*42
jk=ji*7
do ii=0,5
k=ii*7
il=ii*35
do ik=1,7
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:35)=psp(141:175)*1.73205080756887697113d0
sp(36:70)=psp(36:70)*1.73205080756887697113d0
sp(71:105)=psp(1:35)+psp(71:105)*(-0.50000000000000000000d0)+psp(1
$76:210)*(-0.50000000000000000000d0)
sp(106:140)=psp(106:140)*1.73205080756887697113d0
sp(141:175)=psp(71:105)*(-0.86602540378443848557d0)+psp(176:210)*0
$.86602540378443848557d0
return
end
subroutine hrrspher_ddg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(324),psp(465)
real*8 dpg(162),fpg(270),xab,yab,zab
sp(1:31)=psp(249:279)*(-2.95803989154980806475d0)+psp(404:434)*2.9
$5803989154980806475d0
sp(32:62)=psp(94:124)*(-2.09165006633518890666d0)+psp(311:341)*6.2
$7495019900556627590d0
sp(63:93)=psp(187:217)*6.70820393249936941515d0+psp(249:279)*(-1.1
$1803398874989490253d0)+psp(404:434)*(-1.11803398874989490253d0)
sp(94:124)=psp(32:62)*3.16227766016837907870d0+psp(94:124)*(-2.371
$70824512628453107d0)+psp(311:341)*(-2.37170824512628453107d0)
sp(125:155)=psp(1:31)+psp(63:93)*(-3.00000000000000000000d0)+psp(1
$25:155)*0.37500000000000000000d0+psp(280:310)*(-3.0000000000000000
$0000d0)+psp(342:372)*0.75000000000000000000d0+psp(435:465)*0.37500
$000000000000000d0
sp(156:186)=psp(156:186)*3.16227766016837907870d0+psp(218:248)*(-2
$.37170824512628453107d0)+psp(373:403)*(-2.37170824512628453107d0)
sp(187:217)=psp(63:93)*(-3.35410196624968470758d0)+psp(125:155)*0.
$55901699437494745126d0+psp(280:310)*3.35410196624968470758d0+psp(4
$35:465)*(-0.55901699437494745126d0)
sp(218:248)=psp(218:248)*(-6.27495019900556627590d0)+psp(373:403)*
$2.09165006633518890666d0
sp(249:279)=psp(125:155)*0.73950997288745201619d0+psp(342:372)*(-4
$.43705983732471231917d0)+psp(435:465)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*31
do ki=1,31
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
dpg(1:27)=psp(55:81)+zab*psp(1:27)
dpg(28:45)=psp(91:108)+zab*psp(28:45)
dpg(46:54)=psp(118:126)+zab*psp(46:54)
dpg(55:81)=psp(64:90)+yab*psp(1:27)
dpg(82:99)=psp(100:117)+yab*psp(28:45)
dpg(100:108)=psp(127:135)+yab*psp(46:54)
dpg(109:162)=psp(91:144)+xab*psp(1:54)
fpg(1:36)=psp(145:180)+zab*psp(55:90)
fpg(37:63)=psp(190:216)+zab*psp(91:117)
fpg(64:81)=psp(226:243)+zab*psp(118:135)
fpg(82:90)=psp(253:261)+zab*psp(136:144)
fpg(91:126)=psp(154:189)+yab*psp(55:90)
fpg(127:153)=psp(199:225)+yab*psp(91:117)
fpg(154:171)=psp(235:252)+yab*psp(118:135)
fpg(172:180)=psp(262:270)+yab*psp(136:144)
fpg(181:270)=psp(190:279)+xab*psp(55:144)
psp(1:27)=fpg(1:27)+zab*dpg(1:27)
psp(28:45)=fpg(37:54)+zab*dpg(28:45)
psp(46:54)=fpg(64:72)+zab*dpg(46:54)
psp(55:81)=fpg(91:117)+zab*dpg(55:81)
psp(82:99)=fpg(127:144)+zab*dpg(82:99)
psp(100:108)=fpg(154:162)+zab*dpg(100:108)
psp(109:135)=fpg(100:126)+yab*dpg(55:81)
psp(136:153)=fpg(136:153)+yab*dpg(82:99)
psp(154:162)=fpg(163:171)+yab*dpg(100:108)
psp(163:189)=fpg(181:207)+zab*dpg(109:135)
psp(190:207)=fpg(217:234)+zab*dpg(136:153)
psp(208:216)=fpg(244:252)+zab*dpg(154:162)
psp(217:243)=fpg(190:216)+yab*dpg(109:135)
psp(244:261)=fpg(226:243)+yab*dpg(136:153)
psp(262:270)=fpg(253:261)+yab*dpg(154:162)
psp(271:324)=fpg(217:270)+xab*dpg(109:162)
sp(1:54)=psp(217:270)*1.73205080756887697113d0
sp(55:108)=psp(55:108)*1.73205080756887697113d0
sp(109:162)=psp(1:54)+psp(109:162)*(-0.50000000000000000000d0)+psp
$(271:324)*(-0.50000000000000000000d0)
sp(163:216)=psp(163:216)*1.73205080756887697113d0
sp(217:270)=psp(109:162)*(-0.86602540378443848557d0)+psp(271:324)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*54
jk=ji*9
do ii=0,5
k=ii*9
il=ii*45
do ik=1,9
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:45)=psp(181:225)*1.73205080756887697113d0
sp(46:90)=psp(46:90)*1.73205080756887697113d0
sp(91:135)=psp(1:45)+psp(91:135)*(-0.50000000000000000000d0)+psp(2
$26:270)*(-0.50000000000000000000d0)
sp(136:180)=psp(136:180)*1.73205080756887697113d0
sp(181:225)=psp(91:135)*(-0.86602540378443848557d0)+psp(226:270)*0
$.86602540378443848557d0
return
end
subroutine hrrspher_ddh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(396),psp(651)
real*8 dph(198),fph(330),xab,yab,zab
sp(1:31)=psp(156:186)*0.70156076002011391601d0+psp(435:465)*(-7.01
$560760020113871605d0)+psp(590:620)*3.50780380010056935802d0
sp(32:62)=psp(280:310)*(-8.87411967464942463835d0)+psp(497:527)*8.
$87411967464942463835d0
sp(63:93)=psp(94:124)*(-4.18330013267037692515d0)+psp(156:186)*0.5
$2291251658379711564d0+psp(373:403)*12.54990039801113255180d0+psp(4
$35:465)*(-1.04582503316759423129d0)+psp(590:620)*(-1.5687375497513
$9156898d0)
sp(94:124)=psp(218:248)*10.24695076595959974952d0+psp(280:310)*(-5
$.12347538297979987476d0)+psp(497:527)*(-5.12347538297979987476d0)
sp(125:155)=psp(32:62)*3.87298334620741613321d0+psp(94:124)*(-5.80
$947501931112419982d0)+psp(156:186)*0.48412291827592701665d0+psp(37
$3:403)*(-5.80947501931112419982d0)+psp(435:465)*0.9682458365518540
$3330d0+psp(590:620)*0.48412291827592701665d0
sp(156:186)=psp(1:31)+psp(63:93)*(-5.00000000000000000000d0)+psp(1
$25:155)*1.87500000000000000000d0+psp(342:372)*(-5.0000000000000000
$0000d0)+psp(404:434)*3.75000000000000000000d0+psp(559:589)*1.87500
$000000000000000d0
sp(187:217)=psp(187:217)*3.87298334620741613321d0+psp(249:279)*(-5
$.80947501931112419982d0)+psp(311:341)*0.48412291827592701665d0+psp
$(466:496)*(-5.80947501931112419982d0)+psp(528:558)*0.9682458365518
$5403330d0+psp(621:651)*0.48412291827592701665d0
sp(218:248)=psp(63:93)*(-5.12347538297979987476d0)+psp(125:155)*2.
$56173769148989993738d0+psp(342:372)*5.12347538297979987476d0+psp(5
$59:589)*(-2.56173769148989993738d0)
sp(249:279)=psp(249:279)*(-12.54990039801113255180d0)+psp(311:341)
$*1.56873754975139156898d0+psp(466:496)*4.18330013267037692515d0+ps
$p(528:558)*1.04582503316759423129d0+psp(621:651)*(-0.5229125165837
$9711564d0)
sp(280:310)=psp(125:155)*2.21852991866235615959d0+psp(404:434)*(-1
$3.31117951197413695752d0)+psp(559:589)*2.21852991866235615959d0
sp(311:341)=psp(311:341)*3.50780380010056935802d0+psp(528:558)*(-7
$.01560760020113871605d0)+psp(621:651)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*31
do ki=1,31
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
dph(1:33)=psp(67:99)+zab*psp(1:33)
dph(34:55)=psp(111:132)+zab*psp(34:55)
dph(56:66)=psp(144:154)+zab*psp(56:66)
dph(67:99)=psp(78:110)+yab*psp(1:33)
dph(100:121)=psp(122:143)+yab*psp(34:55)
dph(122:132)=psp(155:165)+yab*psp(56:66)
dph(133:198)=psp(111:176)+xab*psp(1:66)
fph(1:44)=psp(177:220)+zab*psp(67:110)
fph(45:77)=psp(232:264)+zab*psp(111:143)
fph(78:99)=psp(276:297)+zab*psp(144:165)
fph(100:110)=psp(309:319)+zab*psp(166:176)
fph(111:154)=psp(188:231)+yab*psp(67:110)
fph(155:187)=psp(243:275)+yab*psp(111:143)
fph(188:209)=psp(287:308)+yab*psp(144:165)
fph(210:220)=psp(320:330)+yab*psp(166:176)
fph(221:330)=psp(232:341)+xab*psp(67:176)
psp(1:33)=fph(1:33)+zab*dph(1:33)
psp(34:55)=fph(45:66)+zab*dph(34:55)
psp(56:66)=fph(78:88)+zab*dph(56:66)
psp(67:99)=fph(111:143)+zab*dph(67:99)
psp(100:121)=fph(155:176)+zab*dph(100:121)
psp(122:132)=fph(188:198)+zab*dph(122:132)
psp(133:165)=fph(122:154)+yab*dph(67:99)
psp(166:187)=fph(166:187)+yab*dph(100:121)
psp(188:198)=fph(199:209)+yab*dph(122:132)
psp(199:231)=fph(221:253)+zab*dph(133:165)
psp(232:253)=fph(265:286)+zab*dph(166:187)
psp(254:264)=fph(298:308)+zab*dph(188:198)
psp(265:297)=fph(232:264)+yab*dph(133:165)
psp(298:319)=fph(276:297)+yab*dph(166:187)
psp(320:330)=fph(309:319)+yab*dph(188:198)
psp(331:396)=fph(265:330)+xab*dph(133:198)
sp(1:66)=psp(265:330)*1.73205080756887697113d0
sp(67:132)=psp(67:132)*1.73205080756887697113d0
sp(133:198)=psp(1:66)+psp(133:198)*(-0.50000000000000000000d0)+psp
$(331:396)*(-0.50000000000000000000d0)
sp(199:264)=psp(199:264)*1.73205080756887697113d0
sp(265:330)=psp(133:198)*(-0.86602540378443848557d0)+psp(331:396)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*66
jk=ji*11
do ii=0,5
k=ii*11
il=ii*55
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:55)=psp(221:275)*1.73205080756887697113d0
sp(56:110)=psp(56:110)*1.73205080756887697113d0
sp(111:165)=psp(1:55)+psp(111:165)*(-0.50000000000000000000d0)+psp
$(276:330)*(-0.50000000000000000000d0)
sp(166:220)=psp(166:220)*1.73205080756887697113d0
sp(221:275)=psp(111:165)*(-0.86602540378443848557d0)+psp(276:330)*
$0.86602540378443848557d0
return
end
subroutine hrrspher_ddi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(468),psp(868)
real*8 dpi(234),fpi(390),xab,yab,zab
sp(1:31)=psp(373:403)*4.03015973628837986809d0+psp(652:682)*(-13.4
$3386578762789973496d0)+psp(807:837)*4.03015973628837986809d0
sp(32:62)=psp(156:186)*2.32681380862329012515d0+psp(497:527)*(-23.
$26813808623289858701d0)+psp(714:744)*11.63406904311639955552d0
sp(63:93)=psp(311:341)*(-19.84313483298440061731d0)+psp(373:403)*1
$.98431348329843992850d0+psp(590:620)*19.84313483298440061731d0+psp
$(807:837)*(-1.98431348329843992850d0)
sp(94:124)=psp(94:124)*(-7.24568837309471991404d0)+psp(156:186)*2.
$71713313991052007879d0+psp(435:465)*21.73706511928419971014d0+psp(
$497:527)*(-5.43426627982104015757d0)+psp(714:744)*(-8.151399419731
$55934818d0)
sp(125:155)=psp(249:279)*14.49137674618940074822d0+psp(311:341)*(-
$14.49137674618940074822d0)+psp(373:403)*0.90571104663683998925d0+p
$sp(590:620)*(-14.49137674618940074822d0)+psp(652:682)*1.8114220932
$7367997851d0+psp(807:837)*0.90571104663683998925d0
sp(156:186)=psp(32:62)*4.58257569495583982899d0+psp(94:124)*(-11.4
$5643923738959912839d0)+psp(156:186)*2.86410980934739978210d0+psp(4
$35:465)*(-11.45643923738959912839d0)+psp(497:527)*5.72821961869479
$956420d0+psp(714:744)*2.86410980934739978210d0
sp(187:217)=psp(1:31)+psp(63:93)*(-7.50000000000000000000d0)+psp(1
$25:155)*5.62500000000000000000d0+psp(187:217)*(-0.3125000000000000
$0000d0)+psp(404:434)*(-7.50000000000000000000d0)+psp(466:496)*11.2
$5000000000000000000d0+psp(528:558)*(-0.93750000000000000000d0)+psp
$(683:713)*5.62500000000000000000d0+psp(745:775)*(-0.93750000000000
$000000d0)+psp(838:868)*(-0.31250000000000000000d0)
sp(218:248)=psp(218:248)*4.58257569495583982899d0+psp(280:310)*(-1
$1.45643923738959912839d0)+psp(342:372)*2.86410980934739978210d0+ps
$p(559:589)*(-11.45643923738959912839d0)+psp(621:651)*5.72821961869
$479956420d0+psp(776:806)*2.86410980934739978210d0
sp(249:279)=psp(63:93)*(-7.24568837309471991404d0)+psp(125:155)*7.
$24568837309471991404d0+psp(187:217)*(-0.45285552331841999463d0)+ps
$p(404:434)*7.24568837309471991404d0+psp(528:558)*(-0.4528555233184
$1999463d0)+psp(683:713)*(-7.24568837309471991404d0)+psp(745:775)*0
$.45285552331841999463d0+psp(838:868)*0.45285552331841999463d0
sp(280:310)=psp(280:310)*(-21.73706511928419971014d0)+psp(342:372)
$*8.15139941973155934818d0+psp(559:589)*7.24568837309471991404d0+ps
$p(621:651)*5.43426627982104015757d0+psp(776:806)*(-2.7171331399105
$2007879d0)
sp(311:341)=psp(125:155)*4.96078370824610992429d0+psp(187:217)*(-0
$.49607837082461098133d0)+psp(466:496)*(-29.76470224947659914960d0)
$+psp(528:558)*2.48039185412305007716d0+psp(683:713)*4.960783708246
$10992429d0+psp(745:775)*2.48039185412305007716d0+psp(838:868)*(-0.
$49607837082461098133d0)
sp(342:372)=psp(342:372)*11.63406904311639955552d0+psp(621:651)*(-
$23.26813808623289858701d0)+psp(776:806)*2.32681380862329012515d0
sp(373:403)=psp(187:217)*(-0.67169328938139605256d0)+psp(528:558)*
$10.07539934072089948813d0+psp(745:775)*(-10.07539934072089948813d0
$)+psp(838:868)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*31
do ki=1,31
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
dpi(1:39)=psp(79:117)+zab*psp(1:39)
dpi(40:65)=psp(131:156)+zab*psp(40:65)
dpi(66:78)=psp(170:182)+zab*psp(66:78)
dpi(79:117)=psp(92:130)+yab*psp(1:39)
dpi(118:143)=psp(144:169)+yab*psp(40:65)
dpi(144:156)=psp(183:195)+yab*psp(66:78)
dpi(157:234)=psp(131:208)+xab*psp(1:78)
fpi(1:52)=psp(209:260)+zab*psp(79:130)
fpi(53:91)=psp(274:312)+zab*psp(131:169)
fpi(92:117)=psp(326:351)+zab*psp(170:195)
fpi(118:130)=psp(365:377)+zab*psp(196:208)
fpi(131:182)=psp(222:273)+yab*psp(79:130)
fpi(183:221)=psp(287:325)+yab*psp(131:169)
fpi(222:247)=psp(339:364)+yab*psp(170:195)
fpi(248:260)=psp(378:390)+yab*psp(196:208)
fpi(261:390)=psp(274:403)+xab*psp(79:208)
psp(1:39)=fpi(1:39)+zab*dpi(1:39)
psp(40:65)=fpi(53:78)+zab*dpi(40:65)
psp(66:78)=fpi(92:104)+zab*dpi(66:78)
psp(79:117)=fpi(131:169)+zab*dpi(79:117)
psp(118:143)=fpi(183:208)+zab*dpi(118:143)
psp(144:156)=fpi(222:234)+zab*dpi(144:156)
psp(157:195)=fpi(144:182)+yab*dpi(79:117)
psp(196:221)=fpi(196:221)+yab*dpi(118:143)
psp(222:234)=fpi(235:247)+yab*dpi(144:156)
psp(235:273)=fpi(261:299)+zab*dpi(157:195)
psp(274:299)=fpi(313:338)+zab*dpi(196:221)
psp(300:312)=fpi(352:364)+zab*dpi(222:234)
psp(313:351)=fpi(274:312)+yab*dpi(157:195)
psp(352:377)=fpi(326:351)+yab*dpi(196:221)
psp(378:390)=fpi(365:377)+yab*dpi(222:234)
psp(391:468)=fpi(313:390)+xab*dpi(157:234)
sp(1:78)=psp(313:390)*1.73205080756887697113d0
sp(79:156)=psp(79:156)*1.73205080756887697113d0
sp(157:234)=psp(1:78)+psp(157:234)*(-0.50000000000000000000d0)+psp
$(391:468)*(-0.50000000000000000000d0)
sp(235:312)=psp(235:312)*1.73205080756887697113d0
sp(313:390)=psp(157:234)*(-0.86602540378443848557d0)+psp(391:468)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*78
jk=ji*13
do ii=0,5
k=ii*13
il=ii*65
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:65)=psp(261:325)*1.73205080756887697113d0
sp(66:130)=psp(66:130)*1.73205080756887697113d0
sp(131:195)=psp(1:65)+psp(131:195)*(-0.50000000000000000000d0)+psp
$(326:390)*(-0.50000000000000000000d0)
sp(196:260)=psp(196:260)*1.73205080756887697113d0
sp(261:325)=psp(131:195)*(-0.86602540378443848557d0)+psp(326:390)*
$0.86602540378443848557d0
return
end
subroutine hrrspher_fss_(psp,sp)
implicit none
real*8 sp(10),psp(10)
sp(1)=psp(4)*(-0.79056941504209476967d0)+psp(9)*2.3717082451262845
$3107d0
sp(2)=psp(6)*3.87298334620741657730d0
sp(3)=psp(2)*2.44948974278317788134d0+psp(4)*(-0.61237243569579447
$033d0)+psp(9)*(-0.61237243569579447033d0)
sp(4)=psp(1)+psp(3)*(-1.50000000000000000000d0)+psp(8)*(-1.5000000
$0000000000000d0)
sp(5)=psp(5)*2.44948974278317788134d0+psp(7)*(-0.61237243569579447
$033d0)+psp(10)*(-0.61237243569579447033d0)
sp(6)=psp(3)*(-1.93649167310370828865d0)+psp(8)*1.9364916731037082
$8865d0
sp(7)=psp(7)*(-2.37170824512628453107d0)+psp(10)*0.790569415042094
$76967d0
return
end
subroutine hrrspher_fsp_(psp,sp)
implicit none
real*8 sp(30),psp(30)
sp(1:3)=psp(10:12)*(-0.79056941504209476967d0)+psp(25:27)*2.371708
$24512628453107d0
sp(4:6)=psp(16:18)*3.87298334620741657730d0
sp(7:9)=psp(4:6)*2.44948974278317788134d0+psp(10:12)*(-0.612372435
$69579447033d0)+psp(25:27)*(-0.61237243569579447033d0)
sp(10:12)=psp(1:3)+psp(7:9)*(-1.50000000000000000000d0)+psp(22:24)
$*(-1.50000000000000000000d0)
sp(13:15)=psp(13:15)*2.44948974278317788134d0+psp(19:21)*(-0.61237
$243569579447033d0)+psp(28:30)*(-0.61237243569579447033d0)
sp(16:18)=psp(7:9)*(-1.93649167310370828865d0)+psp(22:24)*1.936491
$67310370828865d0
sp(19:21)=psp(19:21)*(-2.37170824512628453107d0)+psp(28:30)*0.7905
$6941504209476967d0
return
end
subroutine hrrspher_fsd_(psp,sp)
implicit none
integer ii,ki
real*8 sp(50),psp(60)
sp(1:10)=psp(41:50)*1.73205080756887697113d0
sp(11:20)=psp(11:20)*1.73205080756887697113d0
sp(21:30)=psp(1:10)+psp(21:30)*(-0.50000000000000000000d0)+psp(51:
$60)*(-0.50000000000000000000d0)
sp(31:40)=psp(31:40)*1.73205080756887697113d0
sp(41:50)=psp(21:30)*(-0.86602540378443848557d0)+psp(51:60)*0.8660
$2540378443848557d0
do ii=1,5
do ki=1,10
psp((ki-1)*5+ii)=sp((ii-1)*10+ki)
enddo
enddo
sp(1:5)=psp(16:20)*(-0.79056941504209476967d0)+psp(41:45)*2.371708
$24512628453107d0
sp(6:10)=psp(26:30)*3.87298334620741657730d0
sp(11:15)=psp(6:10)*2.44948974278317788134d0+psp(16:20)*(-0.612372
$43569579447033d0)+psp(41:45)*(-0.61237243569579447033d0)
sp(16:20)=psp(1:5)+psp(11:15)*(-1.50000000000000000000d0)+psp(36:4
$0)*(-1.50000000000000000000d0)
sp(21:25)=psp(21:25)*2.44948974278317788134d0+psp(31:35)*(-0.61237
$243569579447033d0)+psp(46:50)*(-0.61237243569579447033d0)
sp(26:30)=psp(11:15)*(-1.93649167310370828865d0)+psp(36:40)*1.9364
$9167310370828865d0
sp(31:35)=psp(31:35)*(-2.37170824512628453107d0)+psp(46:50)*0.7905
$6941504209476967d0
return
end
subroutine hrrspher_fsf_(psp,sp)
implicit none
integer ii,ki
real*8 sp(70),psp(100)
sp(1:10)=psp(31:40)*(-0.79056941504209476967d0)+psp(81:90)*2.37170
$824512628453107d0
sp(11:20)=psp(51:60)*3.87298334620741657730d0
sp(21:30)=psp(11:20)*2.44948974278317788134d0+psp(31:40)*(-0.61237
$243569579447033d0)+psp(81:90)*(-0.61237243569579447033d0)
sp(31:40)=psp(1:10)+psp(21:30)*(-1.50000000000000000000d0)+psp(71:
$80)*(-1.50000000000000000000d0)
sp(41:50)=psp(41:50)*2.44948974278317788134d0+psp(61:70)*(-0.61237
$243569579447033d0)+psp(91:100)*(-0.61237243569579447033d0)
sp(51:60)=psp(21:30)*(-1.93649167310370828865d0)+psp(71:80)*1.9364
$9167310370828865d0
sp(61:70)=psp(61:70)*(-2.37170824512628453107d0)+psp(91:100)*0.790
$56941504209476967d0
do ii=1,7
do ki=1,10
psp((ki-1)*7+ii)=sp((ii-1)*10+ki)
enddo
enddo
sp(1:7)=psp(22:28)*(-0.79056941504209476967d0)+psp(57:63)*2.371708
$24512628453107d0
sp(8:14)=psp(36:42)*3.87298334620741657730d0
sp(15:21)=psp(8:14)*2.44948974278317788134d0+psp(22:28)*(-0.612372
$43569579447033d0)+psp(57:63)*(-0.61237243569579447033d0)
sp(22:28)=psp(1:7)+psp(15:21)*(-1.50000000000000000000d0)+psp(50:5
$6)*(-1.50000000000000000000d0)
sp(29:35)=psp(29:35)*2.44948974278317788134d0+psp(43:49)*(-0.61237
$243569579447033d0)+psp(64:70)*(-0.61237243569579447033d0)
sp(36:42)=psp(15:21)*(-1.93649167310370828865d0)+psp(50:56)*1.9364
$9167310370828865d0
sp(43:49)=psp(43:49)*(-2.37170824512628453107d0)+psp(64:70)*0.7905
$6941504209476967d0
return
end
subroutine hrrspher_fsg_(psp,sp)
implicit none
integer ii,ki
real*8 sp(90),psp(150)
sp(1:10)=psp(81:90)*(-2.95803989154980806475d0)+psp(131:140)*2.958
$03989154980806475d0
sp(11:20)=psp(31:40)*(-2.09165006633518890666d0)+psp(101:110)*6.27
$495019900556627590d0
sp(21:30)=psp(61:70)*6.70820393249936941515d0+psp(81:90)*(-1.11803
$398874989490253d0)+psp(131:140)*(-1.11803398874989490253d0)
sp(31:40)=psp(11:20)*3.16227766016837907870d0+psp(31:40)*(-2.37170
$824512628453107d0)+psp(101:110)*(-2.37170824512628453107d0)
sp(41:50)=psp(1:10)+psp(21:30)*(-3.00000000000000000000d0)+psp(41:
$50)*0.37500000000000000000d0+psp(91:100)*(-3.00000000000000000000d
$0)+psp(111:120)*0.75000000000000000000d0+psp(141:150)*0.3750000000
$0000000000d0
sp(51:60)=psp(51:60)*3.16227766016837907870d0+psp(71:80)*(-2.37170
$824512628453107d0)+psp(121:130)*(-2.37170824512628453107d0)
sp(61:70)=psp(21:30)*(-3.35410196624968470758d0)+psp(41:50)*0.5590
$1699437494745126d0+psp(91:100)*3.35410196624968470758d0+psp(141:15
$0)*(-0.55901699437494745126d0)
sp(71:80)=psp(71:80)*(-6.27495019900556627590d0)+psp(121:130)*2.09
$165006633518890666d0
sp(81:90)=psp(41:50)*0.73950997288745201619d0+psp(111:120)*(-4.437
$05983732471231917d0)+psp(141:150)*0.73950997288745201619d0
do ii=1,9
do ki=1,10
psp((ki-1)*9+ii)=sp((ii-1)*10+ki)
enddo
enddo
sp(1:9)=psp(28:36)*(-0.79056941504209476967d0)+psp(73:81)*2.371708
$24512628453107d0
sp(10:18)=psp(46:54)*3.87298334620741657730d0
sp(19:27)=psp(10:18)*2.44948974278317788134d0+psp(28:36)*(-0.61237
$243569579447033d0)+psp(73:81)*(-0.61237243569579447033d0)
sp(28:36)=psp(1:9)+psp(19:27)*(-1.50000000000000000000d0)+psp(64:7
$2)*(-1.50000000000000000000d0)
sp(37:45)=psp(37:45)*2.44948974278317788134d0+psp(55:63)*(-0.61237
$243569579447033d0)+psp(82:90)*(-0.61237243569579447033d0)
sp(46:54)=psp(19:27)*(-1.93649167310370828865d0)+psp(64:72)*1.9364
$9167310370828865d0
sp(55:63)=psp(55:63)*(-2.37170824512628453107d0)+psp(82:90)*0.7905
$6941504209476967d0
return
end
subroutine hrrspher_fsh_(psp,sp)
implicit none
integer ii,ki
real*8 sp(110),psp(210)
sp(1:10)=psp(51:60)*0.70156076002011391601d0+psp(141:150)*(-7.0156
$0760020113871605d0)+psp(191:200)*3.50780380010056935802d0
sp(11:20)=psp(91:100)*(-8.87411967464942463835d0)+psp(161:170)*8.8
$7411967464942463835d0
sp(21:30)=psp(31:40)*(-4.18330013267037692515d0)+psp(51:60)*0.5229
$1251658379711564d0+psp(121:130)*12.54990039801113255180d0+psp(141:
$150)*(-1.04582503316759423129d0)+psp(191:200)*(-1.5687375497513915
$6898d0)
sp(31:40)=psp(71:80)*10.24695076595959974952d0+psp(91:100)*(-5.123
$47538297979987476d0)+psp(161:170)*(-5.12347538297979987476d0)
sp(41:50)=psp(11:20)*3.87298334620741613321d0+psp(31:40)*(-5.80947
$501931112419982d0)+psp(51:60)*0.48412291827592701665d0+psp(121:130
$)*(-5.80947501931112419982d0)+psp(141:150)*0.96824583655185403330d
$0+psp(191:200)*0.48412291827592701665d0
sp(51:60)=psp(1:10)+psp(21:30)*(-5.00000000000000000000d0)+psp(41:
$50)*1.87500000000000000000d0+psp(111:120)*(-5.00000000000000000000
$d0)+psp(131:140)*3.75000000000000000000d0+psp(181:190)*1.875000000
$00000000000d0
sp(61:70)=psp(61:70)*3.87298334620741613321d0+psp(81:90)*(-5.80947
$501931112419982d0)+psp(101:110)*0.48412291827592701665d0+psp(151:1
$60)*(-5.80947501931112419982d0)+psp(171:180)*0.9682458365518540333
$0d0+psp(201:210)*0.48412291827592701665d0
sp(71:80)=psp(21:30)*(-5.12347538297979987476d0)+psp(41:50)*2.5617
$3769148989993738d0+psp(111:120)*5.12347538297979987476d0+psp(181:1
$90)*(-2.56173769148989993738d0)
sp(81:90)=psp(81:90)*(-12.54990039801113255180d0)+psp(101:110)*1.5
$6873754975139156898d0+psp(151:160)*4.18330013267037692515d0+psp(17
$1:180)*1.04582503316759423129d0+psp(201:210)*(-0.52291251658379711
$564d0)
sp(91:100)=psp(41:50)*2.21852991866235615959d0+psp(131:140)*(-13.3
$1117951197413695752d0)+psp(181:190)*2.21852991866235615959d0
sp(101:110)=psp(101:110)*3.50780380010056935802d0+psp(171:180)*(-7
$.01560760020113871605d0)+psp(201:210)*0.70156076002011391601d0
do ii=1,11
do ki=1,10
psp((ki-1)*11+ii)=sp((ii-1)*10+ki)
enddo
enddo
sp(1:11)=psp(34:44)*(-0.79056941504209476967d0)+psp(89:99)*2.37170
$824512628453107d0
sp(12:22)=psp(56:66)*3.87298334620741657730d0
sp(23:33)=psp(12:22)*2.44948974278317788134d0+psp(34:44)*(-0.61237
$243569579447033d0)+psp(89:99)*(-0.61237243569579447033d0)
sp(34:44)=psp(1:11)+psp(23:33)*(-1.50000000000000000000d0)+psp(78:
$88)*(-1.50000000000000000000d0)
sp(45:55)=psp(45:55)*2.44948974278317788134d0+psp(67:77)*(-0.61237
$243569579447033d0)+psp(100:110)*(-0.61237243569579447033d0)
sp(56:66)=psp(23:33)*(-1.93649167310370828865d0)+psp(78:88)*1.9364
$9167310370828865d0
sp(67:77)=psp(67:77)*(-2.37170824512628453107d0)+psp(100:110)*0.79
$056941504209476967d0
return
end
subroutine hrrspher_fsi_(psp,sp)
implicit none
integer ii,ki
real*8 sp(130),psp(280)
sp(1:10)=psp(121:130)*4.03015973628837986809d0+psp(211:220)*(-13.4
$3386578762789973496d0)+psp(261:270)*4.03015973628837986809d0
sp(11:20)=psp(51:60)*2.32681380862329012515d0+psp(161:170)*(-23.26
$813808623289858701d0)+psp(231:240)*11.63406904311639955552d0
sp(21:30)=psp(101:110)*(-19.84313483298440061731d0)+psp(121:130)*1
$.98431348329843992850d0+psp(191:200)*19.84313483298440061731d0+psp
$(261:270)*(-1.98431348329843992850d0)
sp(31:40)=psp(31:40)*(-7.24568837309471991404d0)+psp(51:60)*2.7171
$3313991052007879d0+psp(141:150)*21.73706511928419971014d0+psp(161:
$170)*(-5.43426627982104015757d0)+psp(231:240)*(-8.1513994197315593
$4818d0)
sp(41:50)=psp(81:90)*14.49137674618940074822d0+psp(101:110)*(-14.4
$9137674618940074822d0)+psp(121:130)*0.90571104663683998925d0+psp(1
$91:200)*(-14.49137674618940074822d0)+psp(211:220)*1.81142209327367
$997851d0+psp(261:270)*0.90571104663683998925d0
sp(51:60)=psp(11:20)*4.58257569495583982899d0+psp(31:40)*(-11.4564
$3923738959912839d0)+psp(51:60)*2.86410980934739978210d0+psp(141:15
$0)*(-11.45643923738959912839d0)+psp(161:170)*5.7282196186947995642
$0d0+psp(231:240)*2.86410980934739978210d0
sp(61:70)=psp(1:10)+psp(21:30)*(-7.50000000000000000000d0)+psp(41:
$50)*5.62500000000000000000d0+psp(61:70)*(-0.31250000000000000000d0
$)+psp(131:140)*(-7.50000000000000000000d0)+psp(151:160)*11.2500000
$0000000000000d0+psp(171:180)*(-0.93750000000000000000d0)+psp(221:2
$30)*5.62500000000000000000d0+psp(241:250)*(-0.93750000000000000000
$d0)+psp(271:280)*(-0.31250000000000000000d0)
sp(71:80)=psp(71:80)*4.58257569495583982899d0+psp(91:100)*(-11.456
$43923738959912839d0)+psp(111:120)*2.86410980934739978210d0+psp(181
$:190)*(-11.45643923738959912839d0)+psp(201:210)*5.7282196186947995
$6420d0+psp(251:260)*2.86410980934739978210d0
sp(81:90)=psp(21:30)*(-7.24568837309471991404d0)+psp(41:50)*7.2456
$8837309471991404d0+psp(61:70)*(-0.45285552331841999463d0)+psp(131:
$140)*7.24568837309471991404d0+psp(171:180)*(-0.4528555233184199946
$3d0)+psp(221:230)*(-7.24568837309471991404d0)+psp(241:250)*0.45285
$552331841999463d0+psp(271:280)*0.45285552331841999463d0
sp(91:100)=psp(91:100)*(-21.73706511928419971014d0)+psp(111:120)*8
$.15139941973155934818d0+psp(181:190)*7.24568837309471991404d0+psp(
$201:210)*5.43426627982104015757d0+psp(251:260)*(-2.717133139910520
$07879d0)
sp(101:110)=psp(41:50)*4.96078370824610992429d0+psp(61:70)*(-0.496
$07837082461098133d0)+psp(151:160)*(-29.76470224947659914960d0)+psp
$(171:180)*2.48039185412305007716d0+psp(221:230)*4.9607837082461099
$2429d0+psp(241:250)*2.48039185412305007716d0+psp(271:280)*(-0.4960
$7837082461098133d0)
sp(111:120)=psp(111:120)*11.63406904311639955552d0+psp(201:210)*(-
$23.26813808623289858701d0)+psp(251:260)*2.32681380862329012515d0
sp(121:130)=psp(61:70)*(-0.67169328938139605256d0)+psp(171:180)*10
$.07539934072089948813d0+psp(241:250)*(-10.07539934072089948813d0)+
$psp(271:280)*0.67169328938139605256d0
do ii=1,13
do ki=1,10
psp((ki-1)*13+ii)=sp((ii-1)*10+ki)
enddo
enddo
sp(1:13)=psp(40:52)*(-0.79056941504209476967d0)+psp(105:117)*2.371
$70824512628453107d0
sp(14:26)=psp(66:78)*3.87298334620741657730d0
sp(27:39)=psp(14:26)*2.44948974278317788134d0+psp(40:52)*(-0.61237
$243569579447033d0)+psp(105:117)*(-0.61237243569579447033d0)
sp(40:52)=psp(1:13)+psp(27:39)*(-1.50000000000000000000d0)+psp(92:
$104)*(-1.50000000000000000000d0)
sp(53:65)=psp(53:65)*2.44948974278317788134d0+psp(79:91)*(-0.61237
$243569579447033d0)+psp(118:130)*(-0.61237243569579447033d0)
sp(66:78)=psp(27:39)*(-1.93649167310370828865d0)+psp(92:104)*1.936
$49167310370828865d0
sp(79:91)=psp(79:91)*(-2.37170824512628453107d0)+psp(118:130)*0.79
$056941504209476967d0
return
end
subroutine hrrspher_fps_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(30),psp(25)
real*8 psp2(30)
real*8 xab,yab,zab
psp2(1)=psp(11)+zab*psp(1)
psp2(2)=psp(12)+yab*psp(1)
psp2(3)=psp(16)+xab*psp(1)
psp2(4)=psp(12)+zab*psp(2)
psp2(5)=psp(13)+yab*psp(2)
psp2(6)=psp(17)+xab*psp(2)
psp2(7)=psp(13)+zab*psp(3)
psp2(8)=psp(14)+yab*psp(3)
psp2(9)=psp(18)+xab*psp(3)
psp2(10)=psp(14)+zab*psp(4)
psp2(11)=psp(15)+yab*psp(4)
psp2(12)=psp(19)+xab*psp(4)
psp2(13)=psp(16)+zab*psp(5)
psp2(14)=psp(17)+yab*psp(5)
psp2(15)=psp(20)+xab*psp(5)
psp2(16)=psp(17)+zab*psp(6)
psp2(17)=psp(18)+yab*psp(6)
psp2(18)=psp(21)+xab*psp(6)
psp2(19)=psp(18)+zab*psp(7)
psp2(20)=psp(19)+yab*psp(7)
psp2(21)=psp(22)+xab*psp(7)
psp2(22)=psp(20)+zab*psp(8)
psp2(23)=psp(21)+yab*psp(8)
psp2(24)=psp(23)+xab*psp(8)
psp2(25)=psp(21)+zab*psp(9)
psp2(26)=psp(22)+yab*psp(9)
psp2(27)=psp(24)+xab*psp(9)
psp2(28)=psp(23)+zab*psp(10)
psp2(29)=psp(24)+yab*psp(10)
psp2(30)=psp(25)+xab*psp(10)
sp(1:3)=psp2(10:12)*(-0.79056941504209476967d0)+psp2(25:27)*2.3717
$0824512628453107d0
sp(4:6)=psp2(16:18)*3.87298334620741657730d0
sp(7:9)=psp2(4:6)*2.44948974278317788134d0+psp2(10:12)*(-0.6123724
$3569579447033d0)+psp2(25:27)*(-0.61237243569579447033d0)
sp(10:12)=psp2(1:3)+psp2(7:9)*(-1.50000000000000000000d0)+psp2(22:
$24)*(-1.50000000000000000000d0)
sp(13:15)=psp2(13:15)*2.44948974278317788134d0+psp2(19:21)*(-0.612
$37243569579447033d0)+psp2(28:30)*(-0.61237243569579447033d0)
sp(16:18)=psp2(7:9)*(-1.93649167310370828865d0)+psp2(22:24)*1.9364
$9167310370828865d0
sp(19:21)=psp2(19:21)*(-2.37170824512628453107d0)+psp2(28:30)*0.79
$056941504209476967d0
return
end
subroutine hrrspher_fpp_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(90),psp(75)
real*8 psp2(90)
real*8 xab,yab,zab
psp2(1:3)=psp(31:33)+zab*psp(1:3)
psp2(4:6)=psp(34:36)+yab*psp(1:3)
psp2(7:9)=psp(46:48)+xab*psp(1:3)
psp2(10:12)=psp(34:36)+zab*psp(4:6)
psp2(13:15)=psp(37:39)+yab*psp(4:6)
psp2(16:18)=psp(49:51)+xab*psp(4:6)
psp2(19:21)=psp(37:39)+zab*psp(7:9)
psp2(22:24)=psp(40:42)+yab*psp(7:9)
psp2(25:27)=psp(52:54)+xab*psp(7:9)
psp2(28:30)=psp(40:42)+zab*psp(10:12)
psp2(31:33)=psp(43:45)+yab*psp(10:12)
psp2(34:36)=psp(55:57)+xab*psp(10:12)
psp2(37:39)=psp(46:48)+zab*psp(13:15)
psp2(40:42)=psp(49:51)+yab*psp(13:15)
psp2(43:45)=psp(58:60)+xab*psp(13:15)
psp2(46:48)=psp(49:51)+zab*psp(16:18)
psp2(49:51)=psp(52:54)+yab*psp(16:18)
psp2(52:54)=psp(61:63)+xab*psp(16:18)
psp2(55:57)=psp(52:54)+zab*psp(19:21)
psp2(58:60)=psp(55:57)+yab*psp(19:21)
psp2(61:63)=psp(64:66)+xab*psp(19:21)
psp2(64:66)=psp(58:60)+zab*psp(22:24)
psp2(67:69)=psp(61:63)+yab*psp(22:24)
psp2(70:72)=psp(67:69)+xab*psp(22:24)
psp2(73:75)=psp(61:63)+zab*psp(25:27)
psp2(76:78)=psp(64:66)+yab*psp(25:27)
psp2(79:81)=psp(70:72)+xab*psp(25:27)
psp2(82:84)=psp(67:69)+zab*psp(28:30)
psp2(85:87)=psp(70:72)+yab*psp(28:30)
psp2(88:90)=psp(73:75)+xab*psp(28:30)
sp(1:9)=psp2(28:36)*(-0.79056941504209476967d0)+psp2(73:81)*2.3717
$0824512628453107d0
sp(10:18)=psp2(46:54)*3.87298334620741657730d0
sp(19:27)=psp2(10:18)*2.44948974278317788134d0+psp2(28:36)*(-0.612
$37243569579447033d0)+psp2(73:81)*(-0.61237243569579447033d0)
sp(28:36)=psp2(1:9)+psp2(19:27)*(-1.50000000000000000000d0)+psp2(6
$4:72)*(-1.50000000000000000000d0)
sp(37:45)=psp2(37:45)*2.44948974278317788134d0+psp2(55:63)*(-0.612
$37243569579447033d0)+psp2(82:90)*(-0.61237243569579447033d0)
sp(46:54)=psp2(19:27)*(-1.93649167310370828865d0)+psp2(64:72)*1.93
$649167310370828865d0
sp(55:63)=psp2(55:63)*(-2.37170824512628453107d0)+psp2(82:90)*0.79
$056941504209476967d0
return
end
subroutine hrrspher_fpd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(150),psp(150)
real*8 psp2(150)
real*8 xab,yab,zab
sp(1:25)=psp(101:125)*1.73205080756887697113d0
sp(26:50)=psp(26:50)*1.73205080756887697113d0
sp(51:75)=psp(1:25)+psp(51:75)*(-0.50000000000000000000d0)+psp(126
$:150)*(-0.50000000000000000000d0)
sp(76:100)=psp(76:100)*1.73205080756887697113d0
sp(101:125)=psp(51:75)*(-0.86602540378443848557d0)+psp(126:150)*0.
$86602540378443848557d0
do ii=1,5
ji=(ii-1)*25
do ki=1,25
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
psp2(1:5)=psp(51:55)+zab*psp(1:5)
psp2(6:10)=psp(56:60)+yab*psp(1:5)
psp2(11:15)=psp(76:80)+xab*psp(1:5)
psp2(16:20)=psp(56:60)+zab*psp(6:10)
psp2(21:25)=psp(61:65)+yab*psp(6:10)
psp2(26:30)=psp(81:85)+xab*psp(6:10)
psp2(31:35)=psp(61:65)+zab*psp(11:15)
psp2(36:40)=psp(66:70)+yab*psp(11:15)
psp2(41:45)=psp(86:90)+xab*psp(11:15)
psp2(46:50)=psp(66:70)+zab*psp(16:20)
psp2(51:55)=psp(71:75)+yab*psp(16:20)
psp2(56:60)=psp(91:95)+xab*psp(16:20)
psp2(61:65)=psp(76:80)+zab*psp(21:25)
psp2(66:70)=psp(81:85)+yab*psp(21:25)
psp2(71:75)=psp(96:100)+xab*psp(21:25)
psp2(76:80)=psp(81:85)+zab*psp(26:30)
psp2(81:85)=psp(86:90)+yab*psp(26:30)
psp2(86:90)=psp(101:105)+xab*psp(26:30)
psp2(91:95)=psp(86:90)+zab*psp(31:35)
psp2(96:100)=psp(91:95)+yab*psp(31:35)
psp2(101:105)=psp(106:110)+xab*psp(31:35)
psp2(106:110)=psp(96:100)+zab*psp(36:40)
psp2(111:115)=psp(101:105)+yab*psp(36:40)
psp2(116:120)=psp(111:115)+xab*psp(36:40)
psp2(121:125)=psp(101:105)+zab*psp(41:45)
psp2(126:130)=psp(106:110)+yab*psp(41:45)
psp2(131:135)=psp(116:120)+xab*psp(41:45)
psp2(136:140)=psp(111:115)+zab*psp(46:50)
psp2(141:145)=psp(116:120)+yab*psp(46:50)
psp2(146:150)=psp(121:125)+xab*psp(46:50)
sp(1:15)=psp2(46:60)*(-0.79056941504209476967d0)+psp2(121:135)*2.3
$7170824512628453107d0
sp(16:30)=psp2(76:90)*3.87298334620741657730d0
sp(31:45)=psp2(16:30)*2.44948974278317788134d0+psp2(46:60)*(-0.612
$37243569579447033d0)+psp2(121:135)*(-0.61237243569579447033d0)
sp(46:60)=psp2(1:15)+psp2(31:45)*(-1.50000000000000000000d0)+psp2(
$106:120)*(-1.50000000000000000000d0)
sp(61:75)=psp2(61:75)*2.44948974278317788134d0+psp2(91:105)*(-0.61
$237243569579447033d0)+psp2(136:150)*(-0.61237243569579447033d0)
sp(76:90)=psp2(31:45)*(-1.93649167310370828865d0)+psp2(106:120)*1.
$93649167310370828865d0
sp(91:105)=psp2(91:105)*(-2.37170824512628453107d0)+psp2(136:150)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_fpf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(210),psp(250)
real*8 psp2(210)
real*8 xab,yab,zab
sp(1:25)=psp(76:100)*(-0.79056941504209476967d0)+psp(201:225)*2.37
$170824512628453107d0
sp(26:50)=psp(126:150)*3.87298334620741657730d0
sp(51:75)=psp(26:50)*2.44948974278317788134d0+psp(76:100)*(-0.6123
$7243569579447033d0)+psp(201:225)*(-0.61237243569579447033d0)
sp(76:100)=psp(1:25)+psp(51:75)*(-1.50000000000000000000d0)+psp(17
$6:200)*(-1.50000000000000000000d0)
sp(101:125)=psp(101:125)*2.44948974278317788134d0+psp(151:175)*(-0
$.61237243569579447033d0)+psp(226:250)*(-0.61237243569579447033d0)
sp(126:150)=psp(51:75)*(-1.93649167310370828865d0)+psp(176:200)*1.
$93649167310370828865d0
sp(151:175)=psp(151:175)*(-2.37170824512628453107d0)+psp(226:250)*
$0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*25
do ki=1,25
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
psp2(1:7)=psp(71:77)+zab*psp(1:7)
psp2(8:14)=psp(78:84)+yab*psp(1:7)
psp2(15:21)=psp(106:112)+xab*psp(1:7)
psp2(22:28)=psp(78:84)+zab*psp(8:14)
psp2(29:35)=psp(85:91)+yab*psp(8:14)
psp2(36:42)=psp(113:119)+xab*psp(8:14)
psp2(43:49)=psp(85:91)+zab*psp(15:21)
psp2(50:56)=psp(92:98)+yab*psp(15:21)
psp2(57:63)=psp(120:126)+xab*psp(15:21)
psp2(64:70)=psp(92:98)+zab*psp(22:28)
psp2(71:77)=psp(99:105)+yab*psp(22:28)
psp2(78:84)=psp(127:133)+xab*psp(22:28)
psp2(85:91)=psp(106:112)+zab*psp(29:35)
psp2(92:98)=psp(113:119)+yab*psp(29:35)
psp2(99:105)=psp(134:140)+xab*psp(29:35)
psp2(106:112)=psp(113:119)+zab*psp(36:42)
psp2(113:119)=psp(120:126)+yab*psp(36:42)
psp2(120:126)=psp(141:147)+xab*psp(36:42)
psp2(127:133)=psp(120:126)+zab*psp(43:49)
psp2(134:140)=psp(127:133)+yab*psp(43:49)
psp2(141:147)=psp(148:154)+xab*psp(43:49)
psp2(148:154)=psp(134:140)+zab*psp(50:56)
psp2(155:161)=psp(141:147)+yab*psp(50:56)
psp2(162:168)=psp(155:161)+xab*psp(50:56)
psp2(169:175)=psp(141:147)+zab*psp(57:63)
psp2(176:182)=psp(148:154)+yab*psp(57:63)
psp2(183:189)=psp(162:168)+xab*psp(57:63)
psp2(190:196)=psp(155:161)+zab*psp(64:70)
psp2(197:203)=psp(162:168)+yab*psp(64:70)
psp2(204:210)=psp(169:175)+xab*psp(64:70)
sp(1:21)=psp2(64:84)*(-0.79056941504209476967d0)+psp2(169:189)*2.3
$7170824512628453107d0
sp(22:42)=psp2(106:126)*3.87298334620741657730d0
sp(43:63)=psp2(22:42)*2.44948974278317788134d0+psp2(64:84)*(-0.612
$37243569579447033d0)+psp2(169:189)*(-0.61237243569579447033d0)
sp(64:84)=psp2(1:21)+psp2(43:63)*(-1.50000000000000000000d0)+psp2(
$148:168)*(-1.50000000000000000000d0)
sp(85:105)=psp2(85:105)*2.44948974278317788134d0+psp2(127:147)*(-0
$.61237243569579447033d0)+psp2(190:210)*(-0.61237243569579447033d0)
sp(106:126)=psp2(43:63)*(-1.93649167310370828865d0)+psp2(148:168)*
$1.93649167310370828865d0
sp(127:147)=psp2(127:147)*(-2.37170824512628453107d0)+psp2(190:210
$)*0.79056941504209476967d0
return
end
subroutine hrrspher_fpg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(270),psp(375)
real*8 psp2(270)
real*8 xab,yab,zab
sp(1:25)=psp(201:225)*(-2.95803989154980806475d0)+psp(326:350)*2.9
$5803989154980806475d0
sp(26:50)=psp(76:100)*(-2.09165006633518890666d0)+psp(251:275)*6.2
$7495019900556627590d0
sp(51:75)=psp(151:175)*6.70820393249936941515d0+psp(201:225)*(-1.1
$1803398874989490253d0)+psp(326:350)*(-1.11803398874989490253d0)
sp(76:100)=psp(26:50)*3.16227766016837907870d0+psp(76:100)*(-2.371
$70824512628453107d0)+psp(251:275)*(-2.37170824512628453107d0)
sp(101:125)=psp(1:25)+psp(51:75)*(-3.00000000000000000000d0)+psp(1
$01:125)*0.37500000000000000000d0+psp(226:250)*(-3.0000000000000000
$0000d0)+psp(276:300)*0.75000000000000000000d0+psp(351:375)*0.37500
$000000000000000d0
sp(126:150)=psp(126:150)*3.16227766016837907870d0+psp(176:200)*(-2
$.37170824512628453107d0)+psp(301:325)*(-2.37170824512628453107d0)
sp(151:175)=psp(51:75)*(-3.35410196624968470758d0)+psp(101:125)*0.
$55901699437494745126d0+psp(226:250)*3.35410196624968470758d0+psp(3
$51:375)*(-0.55901699437494745126d0)
sp(176:200)=psp(176:200)*(-6.27495019900556627590d0)+psp(301:325)*
$2.09165006633518890666d0
sp(201:225)=psp(101:125)*0.73950997288745201619d0+psp(276:300)*(-4
$.43705983732471231917d0)+psp(351:375)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*25
do ki=1,25
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
psp2(1:9)=psp(91:99)+zab*psp(1:9)
psp2(10:18)=psp(100:108)+yab*psp(1:9)
psp2(19:27)=psp(136:144)+xab*psp(1:9)
psp2(28:36)=psp(100:108)+zab*psp(10:18)
psp2(37:45)=psp(109:117)+yab*psp(10:18)
psp2(46:54)=psp(145:153)+xab*psp(10:18)
psp2(55:63)=psp(109:117)+zab*psp(19:27)
psp2(64:72)=psp(118:126)+yab*psp(19:27)
psp2(73:81)=psp(154:162)+xab*psp(19:27)
psp2(82:90)=psp(118:126)+zab*psp(28:36)
psp2(91:99)=psp(127:135)+yab*psp(28:36)
psp2(100:108)=psp(163:171)+xab*psp(28:36)
psp2(109:117)=psp(136:144)+zab*psp(37:45)
psp2(118:126)=psp(145:153)+yab*psp(37:45)
psp2(127:135)=psp(172:180)+xab*psp(37:45)
psp2(136:144)=psp(145:153)+zab*psp(46:54)
psp2(145:153)=psp(154:162)+yab*psp(46:54)
psp2(154:162)=psp(181:189)+xab*psp(46:54)
psp2(163:171)=psp(154:162)+zab*psp(55:63)
psp2(172:180)=psp(163:171)+yab*psp(55:63)
psp2(181:189)=psp(190:198)+xab*psp(55:63)
psp2(190:198)=psp(172:180)+zab*psp(64:72)
psp2(199:207)=psp(181:189)+yab*psp(64:72)
psp2(208:216)=psp(199:207)+xab*psp(64:72)
psp2(217:225)=psp(181:189)+zab*psp(73:81)
psp2(226:234)=psp(190:198)+yab*psp(73:81)
psp2(235:243)=psp(208:216)+xab*psp(73:81)
psp2(244:252)=psp(199:207)+zab*psp(82:90)
psp2(253:261)=psp(208:216)+yab*psp(82:90)
psp2(262:270)=psp(217:225)+xab*psp(82:90)
sp(1:27)=psp2(82:108)*(-0.79056941504209476967d0)+psp2(217:243)*2.
$37170824512628453107d0
sp(28:54)=psp2(136:162)*3.87298334620741657730d0
sp(55:81)=psp2(28:54)*2.44948974278317788134d0+psp2(82:108)*(-0.61
$237243569579447033d0)+psp2(217:243)*(-0.61237243569579447033d0)
sp(82:108)=psp2(1:27)+psp2(55:81)*(-1.50000000000000000000d0)+psp2
$(190:216)*(-1.50000000000000000000d0)
sp(109:135)=psp2(109:135)*2.44948974278317788134d0+psp2(163:189)*(
$-0.61237243569579447033d0)+psp2(244:270)*(-0.61237243569579447033d
$0)
sp(136:162)=psp2(55:81)*(-1.93649167310370828865d0)+psp2(190:216)*
$1.93649167310370828865d0
sp(163:189)=psp2(163:189)*(-2.37170824512628453107d0)+psp2(244:270
$)*0.79056941504209476967d0
return
end
subroutine hrrspher_fph_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(330),psp(525)
real*8 psp2(330)
real*8 xab,yab,zab
sp(1:25)=psp(126:150)*0.70156076002011391601d0+psp(351:375)*(-7.01
$560760020113871605d0)+psp(476:500)*3.50780380010056935802d0
sp(26:50)=psp(226:250)*(-8.87411967464942463835d0)+psp(401:425)*8.
$87411967464942463835d0
sp(51:75)=psp(76:100)*(-4.18330013267037692515d0)+psp(126:150)*0.5
$2291251658379711564d0+psp(301:325)*12.54990039801113255180d0+psp(3
$51:375)*(-1.04582503316759423129d0)+psp(476:500)*(-1.5687375497513
$9156898d0)
sp(76:100)=psp(176:200)*10.24695076595959974952d0+psp(226:250)*(-5
$.12347538297979987476d0)+psp(401:425)*(-5.12347538297979987476d0)
sp(101:125)=psp(26:50)*3.87298334620741613321d0+psp(76:100)*(-5.80
$947501931112419982d0)+psp(126:150)*0.48412291827592701665d0+psp(30
$1:325)*(-5.80947501931112419982d0)+psp(351:375)*0.9682458365518540
$3330d0+psp(476:500)*0.48412291827592701665d0
sp(126:150)=psp(1:25)+psp(51:75)*(-5.00000000000000000000d0)+psp(1
$01:125)*1.87500000000000000000d0+psp(276:300)*(-5.0000000000000000
$0000d0)+psp(326:350)*3.75000000000000000000d0+psp(451:475)*1.87500
$000000000000000d0
sp(151:175)=psp(151:175)*3.87298334620741613321d0+psp(201:225)*(-5
$.80947501931112419982d0)+psp(251:275)*0.48412291827592701665d0+psp
$(376:400)*(-5.80947501931112419982d0)+psp(426:450)*0.9682458365518
$5403330d0+psp(501:525)*0.48412291827592701665d0
sp(176:200)=psp(51:75)*(-5.12347538297979987476d0)+psp(101:125)*2.
$56173769148989993738d0+psp(276:300)*5.12347538297979987476d0+psp(4
$51:475)*(-2.56173769148989993738d0)
sp(201:225)=psp(201:225)*(-12.54990039801113255180d0)+psp(251:275)
$*1.56873754975139156898d0+psp(376:400)*4.18330013267037692515d0+ps
$p(426:450)*1.04582503316759423129d0+psp(501:525)*(-0.5229125165837
$9711564d0)
sp(226:250)=psp(101:125)*2.21852991866235615959d0+psp(326:350)*(-1
$3.31117951197413695752d0)+psp(451:475)*2.21852991866235615959d0
sp(251:275)=psp(251:275)*3.50780380010056935802d0+psp(426:450)*(-7
$.01560760020113871605d0)+psp(501:525)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*25
do ki=1,25
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
psp2(1:11)=psp(111:121)+zab*psp(1:11)
psp2(12:22)=psp(122:132)+yab*psp(1:11)
psp2(23:33)=psp(166:176)+xab*psp(1:11)
psp2(34:44)=psp(122:132)+zab*psp(12:22)
psp2(45:55)=psp(133:143)+yab*psp(12:22)
psp2(56:66)=psp(177:187)+xab*psp(12:22)
psp2(67:77)=psp(133:143)+zab*psp(23:33)
psp2(78:88)=psp(144:154)+yab*psp(23:33)
psp2(89:99)=psp(188:198)+xab*psp(23:33)
psp2(100:110)=psp(144:154)+zab*psp(34:44)
psp2(111:121)=psp(155:165)+yab*psp(34:44)
psp2(122:132)=psp(199:209)+xab*psp(34:44)
psp2(133:143)=psp(166:176)+zab*psp(45:55)
psp2(144:154)=psp(177:187)+yab*psp(45:55)
psp2(155:165)=psp(210:220)+xab*psp(45:55)
psp2(166:176)=psp(177:187)+zab*psp(56:66)
psp2(177:187)=psp(188:198)+yab*psp(56:66)
psp2(188:198)=psp(221:231)+xab*psp(56:66)
psp2(199:209)=psp(188:198)+zab*psp(67:77)
psp2(210:220)=psp(199:209)+yab*psp(67:77)
psp2(221:231)=psp(232:242)+xab*psp(67:77)
psp2(232:242)=psp(210:220)+zab*psp(78:88)
psp2(243:253)=psp(221:231)+yab*psp(78:88)
psp2(254:264)=psp(243:253)+xab*psp(78:88)
psp2(265:275)=psp(221:231)+zab*psp(89:99)
psp2(276:286)=psp(232:242)+yab*psp(89:99)
psp2(287:297)=psp(254:264)+xab*psp(89:99)
psp2(298:308)=psp(243:253)+zab*psp(100:110)
psp2(309:319)=psp(254:264)+yab*psp(100:110)
psp2(320:330)=psp(265:275)+xab*psp(100:110)
sp(1:33)=psp2(100:132)*(-0.79056941504209476967d0)+psp2(265:297)*2
$.37170824512628453107d0
sp(34:66)=psp2(166:198)*3.87298334620741657730d0
sp(67:99)=psp2(34:66)*2.44948974278317788134d0+psp2(100:132)*(-0.6
$1237243569579447033d0)+psp2(265:297)*(-0.61237243569579447033d0)
sp(100:132)=psp2(1:33)+psp2(67:99)*(-1.50000000000000000000d0)+psp
$2(232:264)*(-1.50000000000000000000d0)
sp(133:165)=psp2(133:165)*2.44948974278317788134d0+psp2(199:231)*(
$-0.61237243569579447033d0)+psp2(298:330)*(-0.61237243569579447033d
$0)
sp(166:198)=psp2(67:99)*(-1.93649167310370828865d0)+psp2(232:264)*
$1.93649167310370828865d0
sp(199:231)=psp2(199:231)*(-2.37170824512628453107d0)+psp2(298:330
$)*0.79056941504209476967d0
return
end
subroutine hrrspher_fpi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(390),psp(700)
real*8 psp2(390)
real*8 xab,yab,zab
sp(1:25)=psp(301:325)*4.03015973628837986809d0+psp(526:550)*(-13.4
$3386578762789973496d0)+psp(651:675)*4.03015973628837986809d0
sp(26:50)=psp(126:150)*2.32681380862329012515d0+psp(401:425)*(-23.
$26813808623289858701d0)+psp(576:600)*11.63406904311639955552d0
sp(51:75)=psp(251:275)*(-19.84313483298440061731d0)+psp(301:325)*1
$.98431348329843992850d0+psp(476:500)*19.84313483298440061731d0+psp
$(651:675)*(-1.98431348329843992850d0)
sp(76:100)=psp(76:100)*(-7.24568837309471991404d0)+psp(126:150)*2.
$71713313991052007879d0+psp(351:375)*21.73706511928419971014d0+psp(
$401:425)*(-5.43426627982104015757d0)+psp(576:600)*(-8.151399419731
$55934818d0)
sp(101:125)=psp(201:225)*14.49137674618940074822d0+psp(251:275)*(-
$14.49137674618940074822d0)+psp(301:325)*0.90571104663683998925d0+p
$sp(476:500)*(-14.49137674618940074822d0)+psp(526:550)*1.8114220932
$7367997851d0+psp(651:675)*0.90571104663683998925d0
sp(126:150)=psp(26:50)*4.58257569495583982899d0+psp(76:100)*(-11.4
$5643923738959912839d0)+psp(126:150)*2.86410980934739978210d0+psp(3
$51:375)*(-11.45643923738959912839d0)+psp(401:425)*5.72821961869479
$956420d0+psp(576:600)*2.86410980934739978210d0
sp(151:175)=psp(1:25)+psp(51:75)*(-7.50000000000000000000d0)+psp(1
$01:125)*5.62500000000000000000d0+psp(151:175)*(-0.3125000000000000
$0000d0)+psp(326:350)*(-7.50000000000000000000d0)+psp(376:400)*11.2
$5000000000000000000d0+psp(426:450)*(-0.93750000000000000000d0)+psp
$(551:575)*5.62500000000000000000d0+psp(601:625)*(-0.93750000000000
$000000d0)+psp(676:700)*(-0.31250000000000000000d0)
sp(176:200)=psp(176:200)*4.58257569495583982899d0+psp(226:250)*(-1
$1.45643923738959912839d0)+psp(276:300)*2.86410980934739978210d0+ps
$p(451:475)*(-11.45643923738959912839d0)+psp(501:525)*5.72821961869
$479956420d0+psp(626:650)*2.86410980934739978210d0
sp(201:225)=psp(51:75)*(-7.24568837309471991404d0)+psp(101:125)*7.
$24568837309471991404d0+psp(151:175)*(-0.45285552331841999463d0)+ps
$p(326:350)*7.24568837309471991404d0+psp(426:450)*(-0.4528555233184
$1999463d0)+psp(551:575)*(-7.24568837309471991404d0)+psp(601:625)*0
$.45285552331841999463d0+psp(676:700)*0.45285552331841999463d0
sp(226:250)=psp(226:250)*(-21.73706511928419971014d0)+psp(276:300)
$*8.15139941973155934818d0+psp(451:475)*7.24568837309471991404d0+ps
$p(501:525)*5.43426627982104015757d0+psp(626:650)*(-2.7171331399105
$2007879d0)
sp(251:275)=psp(101:125)*4.96078370824610992429d0+psp(151:175)*(-0
$.49607837082461098133d0)+psp(376:400)*(-29.76470224947659914960d0)
$+psp(426:450)*2.48039185412305007716d0+psp(551:575)*4.960783708246
$10992429d0+psp(601:625)*2.48039185412305007716d0+psp(676:700)*(-0.
$49607837082461098133d0)
sp(276:300)=psp(276:300)*11.63406904311639955552d0+psp(501:525)*(-
$23.26813808623289858701d0)+psp(626:650)*2.32681380862329012515d0
sp(301:325)=psp(151:175)*(-0.67169328938139605256d0)+psp(426:450)*
$10.07539934072089948813d0+psp(601:625)*(-10.07539934072089948813d0
$)+psp(676:700)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*25
do ki=1,25
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
psp2(1:13)=psp(131:143)+zab*psp(1:13)
psp2(14:26)=psp(144:156)+yab*psp(1:13)
psp2(27:39)=psp(196:208)+xab*psp(1:13)
psp2(40:52)=psp(144:156)+zab*psp(14:26)
psp2(53:65)=psp(157:169)+yab*psp(14:26)
psp2(66:78)=psp(209:221)+xab*psp(14:26)
psp2(79:91)=psp(157:169)+zab*psp(27:39)
psp2(92:104)=psp(170:182)+yab*psp(27:39)
psp2(105:117)=psp(222:234)+xab*psp(27:39)
psp2(118:130)=psp(170:182)+zab*psp(40:52)
psp2(131:143)=psp(183:195)+yab*psp(40:52)
psp2(144:156)=psp(235:247)+xab*psp(40:52)
psp2(157:169)=psp(196:208)+zab*psp(53:65)
psp2(170:182)=psp(209:221)+yab*psp(53:65)
psp2(183:195)=psp(248:260)+xab*psp(53:65)
psp2(196:208)=psp(209:221)+zab*psp(66:78)
psp2(209:221)=psp(222:234)+yab*psp(66:78)
psp2(222:234)=psp(261:273)+xab*psp(66:78)
psp2(235:247)=psp(222:234)+zab*psp(79:91)
psp2(248:260)=psp(235:247)+yab*psp(79:91)
psp2(261:273)=psp(274:286)+xab*psp(79:91)
psp2(274:286)=psp(248:260)+zab*psp(92:104)
psp2(287:299)=psp(261:273)+yab*psp(92:104)
psp2(300:312)=psp(287:299)+xab*psp(92:104)
psp2(313:325)=psp(261:273)+zab*psp(105:117)
psp2(326:338)=psp(274:286)+yab*psp(105:117)
psp2(339:351)=psp(300:312)+xab*psp(105:117)
psp2(352:364)=psp(287:299)+zab*psp(118:130)
psp2(365:377)=psp(300:312)+yab*psp(118:130)
psp2(378:390)=psp(313:325)+xab*psp(118:130)
sp(1:39)=psp2(118:156)*(-0.79056941504209476967d0)+psp2(313:351)*2
$.37170824512628453107d0
sp(40:78)=psp2(196:234)*3.87298334620741657730d0
sp(79:117)=psp2(40:78)*2.44948974278317788134d0+psp2(118:156)*(-0.
$61237243569579447033d0)+psp2(313:351)*(-0.61237243569579447033d0)
sp(118:156)=psp2(1:39)+psp2(79:117)*(-1.50000000000000000000d0)+ps
$p2(274:312)*(-1.50000000000000000000d0)
sp(157:195)=psp2(157:195)*2.44948974278317788134d0+psp2(235:273)*(
$-0.61237243569579447033d0)+psp2(352:390)*(-0.61237243569579447033d
$0)
sp(196:234)=psp2(79:117)*(-1.93649167310370828865d0)+psp2(274:312)
$*1.93649167310370828865d0
sp(235:273)=psp2(235:273)*(-2.37170824512628453107d0)+psp2(352:390
$)*0.79056941504209476967d0
return
end
subroutine hrrspher_fds_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(60),psp(46)
real*8 psp2(60)
real*8 fps(30),gps(45),xab,yab,zab
fps(1:4)=psp(11:14)+zab*psp(1:4)
fps(5:7)=psp(16:18)+zab*psp(5:7)
fps(8:9)=psp(20:21)+zab*psp(8:9)
fps(10)=psp(23)+zab*psp(10)
fps(11:14)=psp(12:15)+yab*psp(1:4)
fps(15:17)=psp(17:19)+yab*psp(5:7)
fps(18:19)=psp(21:22)+yab*psp(8:9)
fps(20)=psp(24)+yab*psp(10)
fps(21:30)=psp(16:25)+xab*psp(1:10)
gps(1:5)=psp(26:30)+zab*psp(11:15)
gps(6:9)=psp(32:35)+zab*psp(16:19)
gps(10:12)=psp(37:39)+zab*psp(20:22)
gps(13:14)=psp(41:42)+zab*psp(23:24)
gps(15)=psp(44)+zab*psp(25)
gps(16:20)=psp(27:31)+yab*psp(11:15)
gps(21:24)=psp(33:36)+yab*psp(16:19)
gps(25:27)=psp(38:40)+yab*psp(20:22)
gps(28:29)=psp(42:43)+yab*psp(23:24)
gps(30)=psp(45)+yab*psp(25)
gps(31:45)=psp(32:46)+xab*psp(11:25)
psp2(1:4)=gps(1:4)+zab*fps(1:4)
psp2(5:7)=gps(6:8)+zab*fps(5:7)
psp2(8:9)=gps(10:11)+zab*fps(8:9)
psp2(10)=gps(13)+zab*fps(10)
psp2(11:14)=gps(16:19)+zab*fps(11:14)
psp2(15:17)=gps(21:23)+zab*fps(15:17)
psp2(18:19)=gps(25:26)+zab*fps(18:19)
psp2(20)=gps(28)+zab*fps(20)
psp2(21:24)=gps(17:20)+yab*fps(11:14)
psp2(25:27)=gps(22:24)+yab*fps(15:17)
psp2(28:29)=gps(26:27)+yab*fps(18:19)
psp2(30)=gps(29)+yab*fps(20)
psp2(31:34)=gps(31:34)+zab*fps(21:24)
psp2(35:37)=gps(36:38)+zab*fps(25:27)
psp2(38:39)=gps(40:41)+zab*fps(28:29)
psp2(40)=gps(43)+zab*fps(30)
psp2(41:44)=gps(32:35)+yab*fps(21:24)
psp2(45:47)=gps(37:39)+yab*fps(25:27)
psp2(48:49)=gps(41:42)+yab*fps(28:29)
psp2(50)=gps(44)+yab*fps(30)
psp2(51:60)=gps(36:45)+xab*fps(21:30)
sp(1:10)=psp2(41:50)*1.73205080756887697113d0
sp(11:20)=psp2(11:20)*1.73205080756887697113d0
sp(21:30)=psp2(1:10)+psp2(21:30)*(-0.50000000000000000000d0)+psp2(
$51:60)*(-0.50000000000000000000d0)
sp(31:40)=psp2(31:40)*1.73205080756887697113d0
sp(41:50)=psp2(21:30)*(-0.86602540378443848557d0)+psp2(51:60)*0.86
$602540378443848557d0
do ji=1,10
ii=(ji-1)*5
do ki=1,5
psp2(ii+ki)=sp((ki-1)*10+ji)
enddo
enddo
sp(1:5)=psp2(16:20)*(-0.79056941504209476967d0)+psp2(41:45)*2.3717
$0824512628453107d0
sp(6:10)=psp2(26:30)*3.87298334620741657730d0
sp(11:15)=psp2(6:10)*2.44948974278317788134d0+psp2(16:20)*(-0.6123
$7243569579447033d0)+psp2(41:45)*(-0.61237243569579447033d0)
sp(16:20)=psp2(1:5)+psp2(11:15)*(-1.50000000000000000000d0)+psp2(3
$6:40)*(-1.50000000000000000000d0)
sp(21:25)=psp2(21:25)*2.44948974278317788134d0+psp2(31:35)*(-0.612
$37243569579447033d0)+psp2(46:50)*(-0.61237243569579447033d0)
sp(26:30)=psp2(11:15)*(-1.93649167310370828865d0)+psp2(36:40)*1.93
$649167310370828865d0
sp(31:35)=psp2(31:35)*(-2.37170824512628453107d0)+psp2(46:50)*0.79
$056941504209476967d0
return
end
subroutine hrrspher_fdp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(180),psp(138)
real*8 psp2(180)
real*8 fpp(90),gpp(135),xab,yab,zab
fpp(1:12)=psp(31:42)+zab*psp(1:12)
fpp(13:21)=psp(46:54)+zab*psp(13:21)
fpp(22:27)=psp(58:63)+zab*psp(22:27)
fpp(28:30)=psp(67:69)+zab*psp(28:30)
fpp(31:42)=psp(34:45)+yab*psp(1:12)
fpp(43:51)=psp(49:57)+yab*psp(13:21)
fpp(52:57)=psp(61:66)+yab*psp(22:27)
fpp(58:60)=psp(70:72)+yab*psp(28:30)
fpp(61:90)=psp(46:75)+xab*psp(1:30)
gpp(1:15)=psp(76:90)+zab*psp(31:45)
gpp(16:27)=psp(94:105)+zab*psp(46:57)
gpp(28:36)=psp(109:117)+zab*psp(58:66)
gpp(37:42)=psp(121:126)+zab*psp(67:72)
gpp(43:45)=psp(130:132)+zab*psp(73:75)
gpp(46:60)=psp(79:93)+yab*psp(31:45)
gpp(61:72)=psp(97:108)+yab*psp(46:57)
gpp(73:81)=psp(112:120)+yab*psp(58:66)
gpp(82:87)=psp(124:129)+yab*psp(67:72)
gpp(88:90)=psp(133:135)+yab*psp(73:75)
gpp(91:135)=psp(94:138)+xab*psp(31:75)
psp2(1:12)=gpp(1:12)+zab*fpp(1:12)
psp2(13:21)=gpp(16:24)+zab*fpp(13:21)
psp2(22:27)=gpp(28:33)+zab*fpp(22:27)
psp2(28:30)=gpp(37:39)+zab*fpp(28:30)
psp2(31:42)=gpp(46:57)+zab*fpp(31:42)
psp2(43:51)=gpp(61:69)+zab*fpp(43:51)
psp2(52:57)=gpp(73:78)+zab*fpp(52:57)
psp2(58:60)=gpp(82:84)+zab*fpp(58:60)
psp2(61:72)=gpp(49:60)+yab*fpp(31:42)
psp2(73:81)=gpp(64:72)+yab*fpp(43:51)
psp2(82:87)=gpp(76:81)+yab*fpp(52:57)
psp2(88:90)=gpp(85:87)+yab*fpp(58:60)
psp2(91:102)=gpp(91:102)+zab*fpp(61:72)
psp2(103:111)=gpp(106:114)+zab*fpp(73:81)
psp2(112:117)=gpp(118:123)+zab*fpp(82:87)
psp2(118:120)=gpp(127:129)+zab*fpp(88:90)
psp2(121:132)=gpp(94:105)+yab*fpp(61:72)
psp2(133:141)=gpp(109:117)+yab*fpp(73:81)
psp2(142:147)=gpp(121:126)+yab*fpp(82:87)
psp2(148:150)=gpp(130:132)+yab*fpp(88:90)
psp2(151:180)=gpp(106:135)+xab*fpp(61:90)
sp(1:30)=psp2(121:150)*1.73205080756887697113d0
sp(31:60)=psp2(31:60)*1.73205080756887697113d0
sp(61:90)=psp2(1:30)+psp2(61:90)*(-0.50000000000000000000d0)+psp2(
$151:180)*(-0.50000000000000000000d0)
sp(91:120)=psp2(91:120)*1.73205080756887697113d0
sp(121:150)=psp2(61:90)*(-0.86602540378443848557d0)+psp2(151:180)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*30
jk=ji*3
do ii=0,9
k=ii*3
il=ii*15
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:15)=psp2(46:60)*(-0.79056941504209476967d0)+psp2(121:135)*2.3
$7170824512628453107d0
sp(16:30)=psp2(76:90)*3.87298334620741657730d0
sp(31:45)=psp2(16:30)*2.44948974278317788134d0+psp2(46:60)*(-0.612
$37243569579447033d0)+psp2(121:135)*(-0.61237243569579447033d0)
sp(46:60)=psp2(1:15)+psp2(31:45)*(-1.50000000000000000000d0)+psp2(
$106:120)*(-1.50000000000000000000d0)
sp(61:75)=psp2(61:75)*2.44948974278317788134d0+psp2(91:105)*(-0.61
$237243569579447033d0)+psp2(136:150)*(-0.61237243569579447033d0)
sp(76:90)=psp2(31:45)*(-1.93649167310370828865d0)+psp2(106:120)*1.
$93649167310370828865d0
sp(91:105)=psp2(91:105)*(-2.37170824512628453107d0)+psp2(136:150)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_fdd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(300),psp(276)
real*8 psp2(300)
real*8 fpd(150),gpd(225),xab,yab,zab
sp(1:46)=psp(185:230)*1.73205080756887697113d0
sp(47:92)=psp(47:92)*1.73205080756887697113d0
sp(93:138)=psp(1:46)+psp(93:138)*(-0.50000000000000000000d0)+psp(2
$31:276)*(-0.50000000000000000000d0)
sp(139:184)=psp(139:184)*1.73205080756887697113d0
sp(185:230)=psp(93:138)*(-0.86602540378443848557d0)+psp(231:276)*0
$.86602540378443848557d0
do ii=1,5
ji=(ii-1)*46
do ki=1,46
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
fpd(1:20)=psp(51:70)+zab*psp(1:20)
fpd(21:35)=psp(76:90)+zab*psp(21:35)
fpd(36:45)=psp(96:105)+zab*psp(36:45)
fpd(46:50)=psp(111:115)+zab*psp(46:50)
fpd(51:70)=psp(56:75)+yab*psp(1:20)
fpd(71:85)=psp(81:95)+yab*psp(21:35)
fpd(86:95)=psp(101:110)+yab*psp(36:45)
fpd(96:100)=psp(116:120)+yab*psp(46:50)
fpd(101:150)=psp(76:125)+xab*psp(1:50)
gpd(1:25)=psp(126:150)+zab*psp(51:75)
gpd(26:45)=psp(156:175)+zab*psp(76:95)
gpd(46:60)=psp(181:195)+zab*psp(96:110)
gpd(61:70)=psp(201:210)+zab*psp(111:120)
gpd(71:75)=psp(216:220)+zab*psp(121:125)
gpd(76:100)=psp(131:155)+yab*psp(51:75)
gpd(101:120)=psp(161:180)+yab*psp(76:95)
gpd(121:135)=psp(186:200)+yab*psp(96:110)
gpd(136:145)=psp(206:215)+yab*psp(111:120)
gpd(146:150)=psp(221:225)+yab*psp(121:125)
gpd(151:225)=psp(156:230)+xab*psp(51:125)
psp2(1:20)=gpd(1:20)+zab*fpd(1:20)
psp2(21:35)=gpd(26:40)+zab*fpd(21:35)
psp2(36:45)=gpd(46:55)+zab*fpd(36:45)
psp2(46:50)=gpd(61:65)+zab*fpd(46:50)
psp2(51:70)=gpd(76:95)+zab*fpd(51:70)
psp2(71:85)=gpd(101:115)+zab*fpd(71:85)
psp2(86:95)=gpd(121:130)+zab*fpd(86:95)
psp2(96:100)=gpd(136:140)+zab*fpd(96:100)
psp2(101:120)=gpd(81:100)+yab*fpd(51:70)
psp2(121:135)=gpd(106:120)+yab*fpd(71:85)
psp2(136:145)=gpd(126:135)+yab*fpd(86:95)
psp2(146:150)=gpd(141:145)+yab*fpd(96:100)
psp2(151:170)=gpd(151:170)+zab*fpd(101:120)
psp2(171:185)=gpd(176:190)+zab*fpd(121:135)
psp2(186:195)=gpd(196:205)+zab*fpd(136:145)
psp2(196:200)=gpd(211:215)+zab*fpd(146:150)
psp2(201:220)=gpd(156:175)+yab*fpd(101:120)
psp2(221:235)=gpd(181:195)+yab*fpd(121:135)
psp2(236:245)=gpd(201:210)+yab*fpd(136:145)
psp2(246:250)=gpd(216:220)+yab*fpd(146:150)
psp2(251:300)=gpd(176:225)+xab*fpd(101:150)
sp(1:50)=psp2(201:250)*1.73205080756887697113d0
sp(51:100)=psp2(51:100)*1.73205080756887697113d0
sp(101:150)=psp2(1:50)+psp2(101:150)*(-0.50000000000000000000d0)+p
$sp2(251:300)*(-0.50000000000000000000d0)
sp(151:200)=psp2(151:200)*1.73205080756887697113d0
sp(201:250)=psp2(101:150)*(-0.86602540378443848557d0)+psp2(251:300
$)*0.86602540378443848557d0
do ji=0,4
ki=ji*50
jk=ji*5
do ii=0,9
k=ii*5
il=ii*25
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:25)=psp2(76:100)*(-0.79056941504209476967d0)+psp2(201:225)*2.
$37170824512628453107d0
sp(26:50)=psp2(126:150)*3.87298334620741657730d0
sp(51:75)=psp2(26:50)*2.44948974278317788134d0+psp2(76:100)*(-0.61
$237243569579447033d0)+psp2(201:225)*(-0.61237243569579447033d0)
sp(76:100)=psp2(1:25)+psp2(51:75)*(-1.50000000000000000000d0)+psp2
$(176:200)*(-1.50000000000000000000d0)
sp(101:125)=psp2(101:125)*2.44948974278317788134d0+psp2(151:175)*(
$-0.61237243569579447033d0)+psp2(226:250)*(-0.61237243569579447033d
$0)
sp(126:150)=psp2(51:75)*(-1.93649167310370828865d0)+psp2(176:200)*
$1.93649167310370828865d0
sp(151:175)=psp2(151:175)*(-2.37170824512628453107d0)+psp2(226:250
$)*0.79056941504209476967d0
return
end
subroutine hrrspher_fdf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(420),psp(460)
real*8 fpf(210),gpf(315),xab,yab,zab
sp(1:46)=psp(139:184)*(-0.79056941504209476967d0)+psp(369:414)*2.3
$7170824512628453107d0
sp(47:92)=psp(231:276)*3.87298334620741657730d0
sp(93:138)=psp(47:92)*2.44948974278317788134d0+psp(139:184)*(-0.61
$237243569579447033d0)+psp(369:414)*(-0.61237243569579447033d0)
sp(139:184)=psp(1:46)+psp(93:138)*(-1.50000000000000000000d0)+psp(
$323:368)*(-1.50000000000000000000d0)
sp(185:230)=psp(185:230)*2.44948974278317788134d0+psp(277:322)*(-0
$.61237243569579447033d0)+psp(415:460)*(-0.61237243569579447033d0)
sp(231:276)=psp(93:138)*(-1.93649167310370828865d0)+psp(323:368)*1
$.93649167310370828865d0
sp(277:322)=psp(277:322)*(-2.37170824512628453107d0)+psp(415:460)*
$0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*46
do ki=1,46
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
fpf(1:28)=psp(71:98)+zab*psp(1:28)
fpf(29:49)=psp(106:126)+zab*psp(29:49)
fpf(50:63)=psp(134:147)+zab*psp(50:63)
fpf(64:70)=psp(155:161)+zab*psp(64:70)
fpf(71:98)=psp(78:105)+yab*psp(1:28)
fpf(99:119)=psp(113:133)+yab*psp(29:49)
fpf(120:133)=psp(141:154)+yab*psp(50:63)
fpf(134:140)=psp(162:168)+yab*psp(64:70)
fpf(141:210)=psp(106:175)+xab*psp(1:70)
gpf(1:35)=psp(176:210)+zab*psp(71:105)
gpf(36:63)=psp(218:245)+zab*psp(106:133)
gpf(64:84)=psp(253:273)+zab*psp(134:154)
gpf(85:98)=psp(281:294)+zab*psp(155:168)
gpf(99:105)=psp(302:308)+zab*psp(169:175)
gpf(106:140)=psp(183:217)+yab*psp(71:105)
gpf(141:168)=psp(225:252)+yab*psp(106:133)
gpf(169:189)=psp(260:280)+yab*psp(134:154)
gpf(190:203)=psp(288:301)+yab*psp(155:168)
gpf(204:210)=psp(309:315)+yab*psp(169:175)
gpf(211:315)=psp(218:322)+xab*psp(71:175)
psp(1:28)=gpf(1:28)+zab*fpf(1:28)
psp(29:49)=gpf(36:56)+zab*fpf(29:49)
psp(50:63)=gpf(64:77)+zab*fpf(50:63)
psp(64:70)=gpf(85:91)+zab*fpf(64:70)
psp(71:98)=gpf(106:133)+zab*fpf(71:98)
psp(99:119)=gpf(141:161)+zab*fpf(99:119)
psp(120:133)=gpf(169:182)+zab*fpf(120:133)
psp(134:140)=gpf(190:196)+zab*fpf(134:140)
psp(141:168)=gpf(113:140)+yab*fpf(71:98)
psp(169:189)=gpf(148:168)+yab*fpf(99:119)
psp(190:203)=gpf(176:189)+yab*fpf(120:133)
psp(204:210)=gpf(197:203)+yab*fpf(134:140)
psp(211:238)=gpf(211:238)+zab*fpf(141:168)
psp(239:259)=gpf(246:266)+zab*fpf(169:189)
psp(260:273)=gpf(274:287)+zab*fpf(190:203)
psp(274:280)=gpf(295:301)+zab*fpf(204:210)
psp(281:308)=gpf(218:245)+yab*fpf(141:168)
psp(309:329)=gpf(253:273)+yab*fpf(169:189)
psp(330:343)=gpf(281:294)+yab*fpf(190:203)
psp(344:350)=gpf(302:308)+yab*fpf(204:210)
psp(351:420)=gpf(246:315)+xab*fpf(141:210)
sp(1:70)=psp(281:350)*1.73205080756887697113d0
sp(71:140)=psp(71:140)*1.73205080756887697113d0
sp(141:210)=psp(1:70)+psp(141:210)*(-0.50000000000000000000d0)+psp
$(351:420)*(-0.50000000000000000000d0)
sp(211:280)=psp(211:280)*1.73205080756887697113d0
sp(281:350)=psp(141:210)*(-0.86602540378443848557d0)+psp(351:420)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*70
jk=ji*7
do ii=0,9
k=ii*7
il=ii*35
do ik=1,7
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:35)=psp(106:140)*(-0.79056941504209476967d0)+psp(281:315)*2.3
$7170824512628453107d0
sp(36:70)=psp(176:210)*3.87298334620741657730d0
sp(71:105)=psp(36:70)*2.44948974278317788134d0+psp(106:140)*(-0.61
$237243569579447033d0)+psp(281:315)*(-0.61237243569579447033d0)
sp(106:140)=psp(1:35)+psp(71:105)*(-1.50000000000000000000d0)+psp(
$246:280)*(-1.50000000000000000000d0)
sp(141:175)=psp(141:175)*2.44948974278317788134d0+psp(211:245)*(-0
$.61237243569579447033d0)+psp(316:350)*(-0.61237243569579447033d0)
sp(176:210)=psp(71:105)*(-1.93649167310370828865d0)+psp(246:280)*1
$.93649167310370828865d0
sp(211:245)=psp(211:245)*(-2.37170824512628453107d0)+psp(316:350)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_fdg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(540),psp(690)
real*8 fpg(270),gpg(405),xab,yab,zab
sp(1:46)=psp(369:414)*(-2.95803989154980806475d0)+psp(599:644)*2.9
$5803989154980806475d0
sp(47:92)=psp(139:184)*(-2.09165006633518890666d0)+psp(461:506)*6.
$27495019900556627590d0
sp(93:138)=psp(277:322)*6.70820393249936941515d0+psp(369:414)*(-1.
$11803398874989490253d0)+psp(599:644)*(-1.11803398874989490253d0)
sp(139:184)=psp(47:92)*3.16227766016837907870d0+psp(139:184)*(-2.3
$7170824512628453107d0)+psp(461:506)*(-2.37170824512628453107d0)
sp(185:230)=psp(1:46)+psp(93:138)*(-3.00000000000000000000d0)+psp(
$185:230)*0.37500000000000000000d0+psp(415:460)*(-3.000000000000000
$00000d0)+psp(507:552)*0.75000000000000000000d0+psp(645:690)*0.3750
$0000000000000000d0
sp(231:276)=psp(231:276)*3.16227766016837907870d0+psp(323:368)*(-2
$.37170824512628453107d0)+psp(553:598)*(-2.37170824512628453107d0)
sp(277:322)=psp(93:138)*(-3.35410196624968470758d0)+psp(185:230)*0
$.55901699437494745126d0+psp(415:460)*3.35410196624968470758d0+psp(
$645:690)*(-0.55901699437494745126d0)
sp(323:368)=psp(323:368)*(-6.27495019900556627590d0)+psp(553:598)*
$2.09165006633518890666d0
sp(369:414)=psp(185:230)*0.73950997288745201619d0+psp(507:552)*(-4
$.43705983732471231917d0)+psp(645:690)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*46
do ki=1,46
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
fpg(1:36)=psp(91:126)+zab*psp(1:36)
fpg(37:63)=psp(136:162)+zab*psp(37:63)
fpg(64:81)=psp(172:189)+zab*psp(64:81)
fpg(82:90)=psp(199:207)+zab*psp(82:90)
fpg(91:126)=psp(100:135)+yab*psp(1:36)
fpg(127:153)=psp(145:171)+yab*psp(37:63)
fpg(154:171)=psp(181:198)+yab*psp(64:81)
fpg(172:180)=psp(208:216)+yab*psp(82:90)
fpg(181:270)=psp(136:225)+xab*psp(1:90)
gpg(1:45)=psp(226:270)+zab*psp(91:135)
gpg(46:81)=psp(280:315)+zab*psp(136:171)
gpg(82:108)=psp(325:351)+zab*psp(172:198)
gpg(109:126)=psp(361:378)+zab*psp(199:216)
gpg(127:135)=psp(388:396)+zab*psp(217:225)
gpg(136:180)=psp(235:279)+yab*psp(91:135)
gpg(181:216)=psp(289:324)+yab*psp(136:171)
gpg(217:243)=psp(334:360)+yab*psp(172:198)
gpg(244:261)=psp(370:387)+yab*psp(199:216)
gpg(262:270)=psp(397:405)+yab*psp(217:225)
gpg(271:405)=psp(280:414)+xab*psp(91:225)
psp(1:36)=gpg(1:36)+zab*fpg(1:36)
psp(37:63)=gpg(46:72)+zab*fpg(37:63)
psp(64:81)=gpg(82:99)+zab*fpg(64:81)
psp(82:90)=gpg(109:117)+zab*fpg(82:90)
psp(91:126)=gpg(136:171)+zab*fpg(91:126)
psp(127:153)=gpg(181:207)+zab*fpg(127:153)
psp(154:171)=gpg(217:234)+zab*fpg(154:171)
psp(172:180)=gpg(244:252)+zab*fpg(172:180)
psp(181:216)=gpg(145:180)+yab*fpg(91:126)
psp(217:243)=gpg(190:216)+yab*fpg(127:153)
psp(244:261)=gpg(226:243)+yab*fpg(154:171)
psp(262:270)=gpg(253:261)+yab*fpg(172:180)
psp(271:306)=gpg(271:306)+zab*fpg(181:216)
psp(307:333)=gpg(316:342)+zab*fpg(217:243)
psp(334:351)=gpg(352:369)+zab*fpg(244:261)
psp(352:360)=gpg(379:387)+zab*fpg(262:270)
psp(361:396)=gpg(280:315)+yab*fpg(181:216)
psp(397:423)=gpg(325:351)+yab*fpg(217:243)
psp(424:441)=gpg(361:378)+yab*fpg(244:261)
psp(442:450)=gpg(388:396)+yab*fpg(262:270)
psp(451:540)=gpg(316:405)+xab*fpg(181:270)
sp(1:90)=psp(361:450)*1.73205080756887697113d0
sp(91:180)=psp(91:180)*1.73205080756887697113d0
sp(181:270)=psp(1:90)+psp(181:270)*(-0.50000000000000000000d0)+psp
$(451:540)*(-0.50000000000000000000d0)
sp(271:360)=psp(271:360)*1.73205080756887697113d0
sp(361:450)=psp(181:270)*(-0.86602540378443848557d0)+psp(451:540)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*90
jk=ji*9
do ii=0,9
k=ii*9
il=ii*45
do ik=1,9
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:45)=psp(136:180)*(-0.79056941504209476967d0)+psp(361:405)*2.3
$7170824512628453107d0
sp(46:90)=psp(226:270)*3.87298334620741657730d0
sp(91:135)=psp(46:90)*2.44948974278317788134d0+psp(136:180)*(-0.61
$237243569579447033d0)+psp(361:405)*(-0.61237243569579447033d0)
sp(136:180)=psp(1:45)+psp(91:135)*(-1.50000000000000000000d0)+psp(
$316:360)*(-1.50000000000000000000d0)
sp(181:225)=psp(181:225)*2.44948974278317788134d0+psp(271:315)*(-0
$.61237243569579447033d0)+psp(406:450)*(-0.61237243569579447033d0)
sp(226:270)=psp(91:135)*(-1.93649167310370828865d0)+psp(316:360)*1
$.93649167310370828865d0
sp(271:315)=psp(271:315)*(-2.37170824512628453107d0)+psp(406:450)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_fdh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(660),psp(966)
real*8 fph(330),gph(495),xab,yab,zab
sp(1:46)=psp(231:276)*0.70156076002011391601d0+psp(645:690)*(-7.01
$560760020113871605d0)+psp(875:920)*3.50780380010056935802d0
sp(47:92)=psp(415:460)*(-8.87411967464942463835d0)+psp(737:782)*8.
$87411967464942463835d0
sp(93:138)=psp(139:184)*(-4.18330013267037692515d0)+psp(231:276)*0
$.52291251658379711564d0+psp(553:598)*12.54990039801113255180d0+psp
$(645:690)*(-1.04582503316759423129d0)+psp(875:920)*(-1.56873754975
$139156898d0)
sp(139:184)=psp(323:368)*10.24695076595959974952d0+psp(415:460)*(-
$5.12347538297979987476d0)+psp(737:782)*(-5.12347538297979987476d0)
sp(185:230)=psp(47:92)*3.87298334620741613321d0+psp(139:184)*(-5.8
$0947501931112419982d0)+psp(231:276)*0.48412291827592701665d0+psp(5
$53:598)*(-5.80947501931112419982d0)+psp(645:690)*0.968245836551854
$03330d0+psp(875:920)*0.48412291827592701665d0
sp(231:276)=psp(1:46)+psp(93:138)*(-5.00000000000000000000d0)+psp(
$185:230)*1.87500000000000000000d0+psp(507:552)*(-5.000000000000000
$00000d0)+psp(599:644)*3.75000000000000000000d0+psp(829:874)*1.8750
$0000000000000000d0
sp(277:322)=psp(277:322)*3.87298334620741613321d0+psp(369:414)*(-5
$.80947501931112419982d0)+psp(461:506)*0.48412291827592701665d0+psp
$(691:736)*(-5.80947501931112419982d0)+psp(783:828)*0.9682458365518
$5403330d0+psp(921:966)*0.48412291827592701665d0
sp(323:368)=psp(93:138)*(-5.12347538297979987476d0)+psp(185:230)*2
$.56173769148989993738d0+psp(507:552)*5.12347538297979987476d0+psp(
$829:874)*(-2.56173769148989993738d0)
sp(369:414)=psp(369:414)*(-12.54990039801113255180d0)+psp(461:506)
$*1.56873754975139156898d0+psp(691:736)*4.18330013267037692515d0+ps
$p(783:828)*1.04582503316759423129d0+psp(921:966)*(-0.5229125165837
$9711564d0)
sp(415:460)=psp(185:230)*2.21852991866235615959d0+psp(599:644)*(-1
$3.31117951197413695752d0)+psp(829:874)*2.21852991866235615959d0
sp(461:506)=psp(461:506)*3.50780380010056935802d0+psp(783:828)*(-7
$.01560760020113871605d0)+psp(921:966)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*46
do ki=1,46
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
fph(1:44)=psp(111:154)+zab*psp(1:44)
fph(45:77)=psp(166:198)+zab*psp(45:77)
fph(78:99)=psp(210:231)+zab*psp(78:99)
fph(100:110)=psp(243:253)+zab*psp(100:110)
fph(111:154)=psp(122:165)+yab*psp(1:44)
fph(155:187)=psp(177:209)+yab*psp(45:77)
fph(188:209)=psp(221:242)+yab*psp(78:99)
fph(210:220)=psp(254:264)+yab*psp(100:110)
fph(221:330)=psp(166:275)+xab*psp(1:110)
gph(1:55)=psp(276:330)+zab*psp(111:165)
gph(56:99)=psp(342:385)+zab*psp(166:209)
gph(100:132)=psp(397:429)+zab*psp(210:242)
gph(133:154)=psp(441:462)+zab*psp(243:264)
gph(155:165)=psp(474:484)+zab*psp(265:275)
gph(166:220)=psp(287:341)+yab*psp(111:165)
gph(221:264)=psp(353:396)+yab*psp(166:209)
gph(265:297)=psp(408:440)+yab*psp(210:242)
gph(298:319)=psp(452:473)+yab*psp(243:264)
gph(320:330)=psp(485:495)+yab*psp(265:275)
gph(331:495)=psp(342:506)+xab*psp(111:275)
psp(1:44)=gph(1:44)+zab*fph(1:44)
psp(45:77)=gph(56:88)+zab*fph(45:77)
psp(78:99)=gph(100:121)+zab*fph(78:99)
psp(100:110)=gph(133:143)+zab*fph(100:110)
psp(111:154)=gph(166:209)+zab*fph(111:154)
psp(155:187)=gph(221:253)+zab*fph(155:187)
psp(188:209)=gph(265:286)+zab*fph(188:209)
psp(210:220)=gph(298:308)+zab*fph(210:220)
psp(221:264)=gph(177:220)+yab*fph(111:154)
psp(265:297)=gph(232:264)+yab*fph(155:187)
psp(298:319)=gph(276:297)+yab*fph(188:209)
psp(320:330)=gph(309:319)+yab*fph(210:220)
psp(331:374)=gph(331:374)+zab*fph(221:264)
psp(375:407)=gph(386:418)+zab*fph(265:297)
psp(408:429)=gph(430:451)+zab*fph(298:319)
psp(430:440)=gph(463:473)+zab*fph(320:330)
psp(441:484)=gph(342:385)+yab*fph(221:264)
psp(485:517)=gph(397:429)+yab*fph(265:297)
psp(518:539)=gph(441:462)+yab*fph(298:319)
psp(540:550)=gph(474:484)+yab*fph(320:330)
psp(551:660)=gph(386:495)+xab*fph(221:330)
sp(1:110)=psp(441:550)*1.73205080756887697113d0
sp(111:220)=psp(111:220)*1.73205080756887697113d0
sp(221:330)=psp(1:110)+psp(221:330)*(-0.50000000000000000000d0)+ps
$p(551:660)*(-0.50000000000000000000d0)
sp(331:440)=psp(331:440)*1.73205080756887697113d0
sp(441:550)=psp(221:330)*(-0.86602540378443848557d0)+psp(551:660)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*110
jk=ji*11
do ii=0,9
k=ii*11
il=ii*55
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:55)=psp(166:220)*(-0.79056941504209476967d0)+psp(441:495)*2.3
$7170824512628453107d0
sp(56:110)=psp(276:330)*3.87298334620741657730d0
sp(111:165)=psp(56:110)*2.44948974278317788134d0+psp(166:220)*(-0.
$61237243569579447033d0)+psp(441:495)*(-0.61237243569579447033d0)
sp(166:220)=psp(1:55)+psp(111:165)*(-1.50000000000000000000d0)+psp
$(386:440)*(-1.50000000000000000000d0)
sp(221:275)=psp(221:275)*2.44948974278317788134d0+psp(331:385)*(-0
$.61237243569579447033d0)+psp(496:550)*(-0.61237243569579447033d0)
sp(276:330)=psp(111:165)*(-1.93649167310370828865d0)+psp(386:440)*
$1.93649167310370828865d0
sp(331:385)=psp(331:385)*(-2.37170824512628453107d0)+psp(496:550)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_fdi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(780),psp(1288)
real*8 fpi(390),gpi(585),xab,yab,zab
sp(1:46)=psp(553:598)*4.03015973628837986809d0+psp(967:1012)*(-13.
$43386578762789973496d0)+psp(1197:1242)*4.03015973628837986809d0
sp(47:92)=psp(231:276)*2.32681380862329012515d0+psp(737:782)*(-23.
$26813808623289858701d0)+psp(1059:1104)*11.63406904311639955552d0
sp(93:138)=psp(461:506)*(-19.84313483298440061731d0)+psp(553:598)*
$1.98431348329843992850d0+psp(875:920)*19.84313483298440061731d0+ps
$p(1197:1242)*(-1.98431348329843992850d0)
sp(139:184)=psp(139:184)*(-7.24568837309471991404d0)+psp(231:276)*
$2.71713313991052007879d0+psp(645:690)*21.73706511928419971014d0+ps
$p(737:782)*(-5.43426627982104015757d0)+psp(1059:1104)*(-8.15139941
$973155934818d0)
sp(185:230)=psp(369:414)*14.49137674618940074822d0+psp(461:506)*(-
$14.49137674618940074822d0)+psp(553:598)*0.90571104663683998925d0+p
$sp(875:920)*(-14.49137674618940074822d0)+psp(967:1012)*1.811422093
$27367997851d0+psp(1197:1242)*0.90571104663683998925d0
sp(231:276)=psp(47:92)*4.58257569495583982899d0+psp(139:184)*(-11.
$45643923738959912839d0)+psp(231:276)*2.86410980934739978210d0+psp(
$645:690)*(-11.45643923738959912839d0)+psp(737:782)*5.7282196186947
$9956420d0+psp(1059:1104)*2.86410980934739978210d0
sp(277:322)=psp(1:46)+psp(93:138)*(-7.50000000000000000000d0)+psp(
$185:230)*5.62500000000000000000d0+psp(277:322)*(-0.312500000000000
$00000d0)+psp(599:644)*(-7.50000000000000000000d0)+psp(691:736)*11.
$25000000000000000000d0+psp(783:828)*(-0.93750000000000000000d0)+ps
$p(1013:1058)*5.62500000000000000000d0+psp(1105:1150)*(-0.937500000
$00000000000d0)+psp(1243:1288)*(-0.31250000000000000000d0)
sp(323:368)=psp(323:368)*4.58257569495583982899d0+psp(415:460)*(-1
$1.45643923738959912839d0)+psp(507:552)*2.86410980934739978210d0+ps
$p(829:874)*(-11.45643923738959912839d0)+psp(921:966)*5.72821961869
$479956420d0+psp(1151:1196)*2.86410980934739978210d0
sp(369:414)=psp(93:138)*(-7.24568837309471991404d0)+psp(185:230)*7
$.24568837309471991404d0+psp(277:322)*(-0.45285552331841999463d0)+p
$sp(599:644)*7.24568837309471991404d0+psp(783:828)*(-0.452855523318
$41999463d0)+psp(1013:1058)*(-7.24568837309471991404d0)+psp(1105:11
$50)*0.45285552331841999463d0+psp(1243:1288)*0.45285552331841999463
$d0
sp(415:460)=psp(415:460)*(-21.73706511928419971014d0)+psp(507:552)
$*8.15139941973155934818d0+psp(829:874)*7.24568837309471991404d0+ps
$p(921:966)*5.43426627982104015757d0+psp(1151:1196)*(-2.71713313991
$052007879d0)
sp(461:506)=psp(185:230)*4.96078370824610992429d0+psp(277:322)*(-0
$.49607837082461098133d0)+psp(691:736)*(-29.76470224947659914960d0)
$+psp(783:828)*2.48039185412305007716d0+psp(1013:1058)*4.9607837082
$4610992429d0+psp(1105:1150)*2.48039185412305007716d0+psp(1243:1288
$)*(-0.49607837082461098133d0)
sp(507:552)=psp(507:552)*11.63406904311639955552d0+psp(921:966)*(-
$23.26813808623289858701d0)+psp(1151:1196)*2.32681380862329012515d0
sp(553:598)=psp(277:322)*(-0.67169328938139605256d0)+psp(783:828)*
$10.07539934072089948813d0+psp(1105:1150)*(-10.07539934072089948813
$d0)+psp(1243:1288)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*46
do ki=1,46
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
fpi(1:52)=psp(131:182)+zab*psp(1:52)
fpi(53:91)=psp(196:234)+zab*psp(53:91)
fpi(92:117)=psp(248:273)+zab*psp(92:117)
fpi(118:130)=psp(287:299)+zab*psp(118:130)
fpi(131:182)=psp(144:195)+yab*psp(1:52)
fpi(183:221)=psp(209:247)+yab*psp(53:91)
fpi(222:247)=psp(261:286)+yab*psp(92:117)
fpi(248:260)=psp(300:312)+yab*psp(118:130)
fpi(261:390)=psp(196:325)+xab*psp(1:130)
gpi(1:65)=psp(326:390)+zab*psp(131:195)
gpi(66:117)=psp(404:455)+zab*psp(196:247)
gpi(118:156)=psp(469:507)+zab*psp(248:286)
gpi(157:182)=psp(521:546)+zab*psp(287:312)
gpi(183:195)=psp(560:572)+zab*psp(313:325)
gpi(196:260)=psp(339:403)+yab*psp(131:195)
gpi(261:312)=psp(417:468)+yab*psp(196:247)
gpi(313:351)=psp(482:520)+yab*psp(248:286)
gpi(352:377)=psp(534:559)+yab*psp(287:312)
gpi(378:390)=psp(573:585)+yab*psp(313:325)
gpi(391:585)=psp(404:598)+xab*psp(131:325)
psp(1:52)=gpi(1:52)+zab*fpi(1:52)
psp(53:91)=gpi(66:104)+zab*fpi(53:91)
psp(92:117)=gpi(118:143)+zab*fpi(92:117)
psp(118:130)=gpi(157:169)+zab*fpi(118:130)
psp(131:182)=gpi(196:247)+zab*fpi(131:182)
psp(183:221)=gpi(261:299)+zab*fpi(183:221)
psp(222:247)=gpi(313:338)+zab*fpi(222:247)
psp(248:260)=gpi(352:364)+zab*fpi(248:260)
psp(261:312)=gpi(209:260)+yab*fpi(131:182)
psp(313:351)=gpi(274:312)+yab*fpi(183:221)
psp(352:377)=gpi(326:351)+yab*fpi(222:247)
psp(378:390)=gpi(365:377)+yab*fpi(248:260)
psp(391:442)=gpi(391:442)+zab*fpi(261:312)
psp(443:481)=gpi(456:494)+zab*fpi(313:351)
psp(482:507)=gpi(508:533)+zab*fpi(352:377)
psp(508:520)=gpi(547:559)+zab*fpi(378:390)
psp(521:572)=gpi(404:455)+yab*fpi(261:312)
psp(573:611)=gpi(469:507)+yab*fpi(313:351)
psp(612:637)=gpi(521:546)+yab*fpi(352:377)
psp(638:650)=gpi(560:572)+yab*fpi(378:390)
psp(651:780)=gpi(456:585)+xab*fpi(261:390)
sp(1:130)=psp(521:650)*1.73205080756887697113d0
sp(131:260)=psp(131:260)*1.73205080756887697113d0
sp(261:390)=psp(1:130)+psp(261:390)*(-0.50000000000000000000d0)+ps
$p(651:780)*(-0.50000000000000000000d0)
sp(391:520)=psp(391:520)*1.73205080756887697113d0
sp(521:650)=psp(261:390)*(-0.86602540378443848557d0)+psp(651:780)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*130
jk=ji*13
do ii=0,9
k=ii*13
il=ii*65
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:65)=psp(196:260)*(-0.79056941504209476967d0)+psp(521:585)*2.3
$7170824512628453107d0
sp(66:130)=psp(326:390)*3.87298334620741657730d0
sp(131:195)=psp(66:130)*2.44948974278317788134d0+psp(196:260)*(-0.
$61237243569579447033d0)+psp(521:585)*(-0.61237243569579447033d0)
sp(196:260)=psp(1:65)+psp(131:195)*(-1.50000000000000000000d0)+psp
$(456:520)*(-1.50000000000000000000d0)
sp(261:325)=psp(261:325)*2.44948974278317788134d0+psp(391:455)*(-0
$.61237243569579447033d0)+psp(586:650)*(-0.61237243569579447033d0)
sp(326:390)=psp(131:195)*(-1.93649167310370828865d0)+psp(456:520)*
$1.93649167310370828865d0
sp(391:455)=psp(391:455)*(-2.37170824512628453107d0)+psp(586:650)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_ffs_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(100),psp(74)
real*8 psp2(100)
real*8 fps(30),gps(45),hps(63),fds(60),gds(90),xab,yab,zab
fps(1:4)=psp(11:14)+zab*psp(1:4)
fps(5:7)=psp(16:18)+zab*psp(5:7)
fps(8:9)=psp(20:21)+zab*psp(8:9)
fps(10)=psp(23)+zab*psp(10)
fps(11:14)=psp(12:15)+yab*psp(1:4)
fps(15:17)=psp(17:19)+yab*psp(5:7)
fps(18:19)=psp(21:22)+yab*psp(8:9)
fps(20)=psp(24)+yab*psp(10)
fps(21:30)=psp(16:25)+xab*psp(1:10)
gps(1:5)=psp(26:30)+zab*psp(11:15)
gps(6:9)=psp(32:35)+zab*psp(16:19)
gps(10:12)=psp(37:39)+zab*psp(20:22)
gps(13:14)=psp(41:42)+zab*psp(23:24)
gps(15)=psp(44)+zab*psp(25)
gps(16:20)=psp(27:31)+yab*psp(11:15)
gps(21:24)=psp(33:36)+yab*psp(16:19)
gps(25:27)=psp(38:40)+yab*psp(20:22)
gps(28:29)=psp(42:43)+yab*psp(23:24)
gps(30)=psp(45)+yab*psp(25)
gps(31:45)=psp(32:46)+xab*psp(11:25)
hps(1:6)=psp(47:52)+zab*psp(26:31)
hps(7:11)=psp(54:58)+zab*psp(32:36)
hps(12:15)=psp(60:63)+zab*psp(37:40)
hps(16:18)=psp(65:67)+zab*psp(41:43)
hps(19:20)=psp(69:70)+zab*psp(44:45)
hps(21)=psp(72)+zab*psp(46)
hps(22:27)=psp(48:53)+yab*psp(26:31)
hps(28:32)=psp(55:59)+yab*psp(32:36)
hps(33:36)=psp(61:64)+yab*psp(37:40)
hps(37:39)=psp(66:68)+yab*psp(41:43)
hps(40:41)=psp(70:71)+yab*psp(44:45)
hps(42)=psp(73)+yab*psp(46)
hps(43:63)=psp(54:74)+xab*psp(26:46)
fds(1:4)=gps(1:4)+zab*fps(1:4)
fds(5:7)=gps(6:8)+zab*fps(5:7)
fds(8:9)=gps(10:11)+zab*fps(8:9)
fds(10)=gps(13)+zab*fps(10)
fds(21:24)=gps(17:20)+yab*fps(11:14)
fds(25:27)=gps(22:24)+yab*fps(15:17)
fds(28:29)=gps(26:27)+yab*fps(18:19)
fds(30)=gps(29)+yab*fps(20)
fds(41:44)=gps(32:35)+yab*fps(21:24)
fds(45:47)=gps(37:39)+yab*fps(25:27)
fds(48:49)=gps(41:42)+yab*fps(28:29)
fds(50)=gps(44)+yab*fps(30)
fds(51:60)=gps(36:45)+xab*fps(21:30)
gds(1:5)=hps(1:5)+zab*gps(1:5)
gds(6:9)=hps(7:10)+zab*gps(6:9)
gds(10:12)=hps(12:14)+zab*gps(10:12)
gds(13:14)=hps(16:17)+zab*gps(13:14)
gds(15)=hps(19)+zab*gps(15)
gds(31:35)=hps(23:27)+yab*gps(16:20)
gds(36:39)=hps(29:32)+yab*gps(21:24)
gds(40:42)=hps(34:36)+yab*gps(25:27)
gds(43:44)=hps(38:39)+yab*gps(28:29)
gds(45)=hps(41)+yab*gps(30)
gds(61:65)=hps(44:48)+yab*gps(31:35)
gds(66:69)=hps(50:53)+yab*gps(36:39)
gds(70:72)=hps(55:57)+yab*gps(40:42)
gds(73:74)=hps(59:60)+yab*gps(43:44)
gds(75)=hps(62)+yab*gps(45)
gds(76:90)=hps(49:63)+xab*gps(31:45)
psp2(1:4)=gds(1:4)+zab*fds(1:4)
psp2(5:7)=gds(6:8)+zab*fds(5:7)
psp2(8:9)=gds(10:11)+zab*fds(8:9)
psp2(10)=gds(13)+zab*fds(10)
psp2(11:14)=gds(2:5)+yab*fds(1:4)
psp2(15:17)=gds(7:9)+yab*fds(5:7)
psp2(18:19)=gds(11:12)+yab*fds(8:9)
psp2(20)=gds(14)+yab*fds(10)
psp2(21:24)=gds(31:34)+zab*fds(21:24)
psp2(25:27)=gds(36:38)+zab*fds(25:27)
psp2(28:29)=gds(40:41)+zab*fds(28:29)
psp2(30)=gds(43)+zab*fds(30)
psp2(31:34)=gds(32:35)+yab*fds(21:24)
psp2(35:37)=gds(37:39)+yab*fds(25:27)
psp2(38:39)=gds(41:42)+yab*fds(28:29)
psp2(40)=gds(44)+yab*fds(30)
psp2(41:50)=gds(6:15)+xab*fds(1:10)
psp2(51:54)=gds(61:64)+zab*fds(41:44)
psp2(55:57)=gds(66:68)+zab*fds(45:47)
psp2(58:59)=gds(70:71)+zab*fds(48:49)
psp2(60)=gds(73)+zab*fds(50)
psp2(61:70)=gds(36:45)+xab*fds(21:30)
psp2(71:74)=gds(76:79)+zab*fds(51:54)
psp2(75:77)=gds(81:83)+zab*fds(55:57)
psp2(78:79)=gds(85:86)+zab*fds(58:59)
psp2(80)=gds(88)+zab*fds(60)
psp2(81:84)=gds(77:80)+yab*fds(51:54)
psp2(85:87)=gds(82:84)+yab*fds(55:57)
psp2(88:89)=gds(86:87)+yab*fds(58:59)
psp2(90)=gds(89)+yab*fds(60)
psp2(91:100)=gds(81:90)+xab*fds(51:60)
sp(1:10)=psp2(31:40)*(-0.79056941504209476967d0)+psp2(81:90)*2.371
$70824512628453107d0
sp(11:20)=psp2(51:60)*3.87298334620741657730d0
sp(21:30)=psp2(11:20)*2.44948974278317788134d0+psp2(31:40)*(-0.612
$37243569579447033d0)+psp2(81:90)*(-0.61237243569579447033d0)
sp(31:40)=psp2(1:10)+psp2(21:30)*(-1.50000000000000000000d0)+psp2(
$71:80)*(-1.50000000000000000000d0)
sp(41:50)=psp2(41:50)*2.44948974278317788134d0+psp2(61:70)*(-0.612
$37243569579447033d0)+psp2(91:100)*(-0.61237243569579447033d0)
sp(51:60)=psp2(21:30)*(-1.93649167310370828865d0)+psp2(71:80)*1.93
$649167310370828865d0
sp(61:70)=psp2(61:70)*(-2.37170824512628453107d0)+psp2(91:100)*0.7
$9056941504209476967d0
do ji=1,10
ii=(ji-1)*7
do ki=1,7
psp2(ii+ki)=sp((ki-1)*10+ji)
enddo
enddo
sp(1:7)=psp2(22:28)*(-0.79056941504209476967d0)+psp2(57:63)*2.3717
$0824512628453107d0
sp(8:14)=psp2(36:42)*3.87298334620741657730d0
sp(15:21)=psp2(8:14)*2.44948974278317788134d0+psp2(22:28)*(-0.6123
$7243569579447033d0)+psp2(57:63)*(-0.61237243569579447033d0)
sp(22:28)=psp2(1:7)+psp2(15:21)*(-1.50000000000000000000d0)+psp2(5
$0:56)*(-1.50000000000000000000d0)
sp(29:35)=psp2(29:35)*2.44948974278317788134d0+psp2(43:49)*(-0.612
$37243569579447033d0)+psp2(64:70)*(-0.61237243569579447033d0)
sp(36:42)=psp2(15:21)*(-1.93649167310370828865d0)+psp2(50:56)*1.93
$649167310370828865d0
sp(43:49)=psp2(43:49)*(-2.37170824512628453107d0)+psp2(64:70)*0.79
$056941504209476967d0
return
end
subroutine hrrspher_ffp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(300),psp(222)
real*8 psp2(300)
real*8 fpp(90),gpp(135),hpp(189),fdp(180),gdp(270),xab,yab,zab
fpp(1:12)=psp(31:42)+zab*psp(1:12)
fpp(13:21)=psp(46:54)+zab*psp(13:21)
fpp(22:27)=psp(58:63)+zab*psp(22:27)
fpp(28:30)=psp(67:69)+zab*psp(28:30)
fpp(31:42)=psp(34:45)+yab*psp(1:12)
fpp(43:51)=psp(49:57)+yab*psp(13:21)
fpp(52:57)=psp(61:66)+yab*psp(22:27)
fpp(58:60)=psp(70:72)+yab*psp(28:30)
fpp(61:90)=psp(46:75)+xab*psp(1:30)
gpp(1:15)=psp(76:90)+zab*psp(31:45)
gpp(16:27)=psp(94:105)+zab*psp(46:57)
gpp(28:36)=psp(109:117)+zab*psp(58:66)
gpp(37:42)=psp(121:126)+zab*psp(67:72)
gpp(43:45)=psp(130:132)+zab*psp(73:75)
gpp(46:60)=psp(79:93)+yab*psp(31:45)
gpp(61:72)=psp(97:108)+yab*psp(46:57)
gpp(73:81)=psp(112:120)+yab*psp(58:66)
gpp(82:87)=psp(124:129)+yab*psp(67:72)
gpp(88:90)=psp(133:135)+yab*psp(73:75)
gpp(91:135)=psp(94:138)+xab*psp(31:75)
hpp(1:18)=psp(139:156)+zab*psp(76:93)
hpp(19:33)=psp(160:174)+zab*psp(94:108)
hpp(34:45)=psp(178:189)+zab*psp(109:120)
hpp(46:54)=psp(193:201)+zab*psp(121:129)
hpp(55:60)=psp(205:210)+zab*psp(130:135)
hpp(61:63)=psp(214:216)+zab*psp(136:138)
hpp(64:81)=psp(142:159)+yab*psp(76:93)
hpp(82:96)=psp(163:177)+yab*psp(94:108)
hpp(97:108)=psp(181:192)+yab*psp(109:120)
hpp(109:117)=psp(196:204)+yab*psp(121:129)
hpp(118:123)=psp(208:213)+yab*psp(130:135)
hpp(124:126)=psp(217:219)+yab*psp(136:138)
hpp(127:189)=psp(160:222)+xab*psp(76:138)
fdp(1:12)=gpp(1:12)+zab*fpp(1:12)
fdp(13:21)=gpp(16:24)+zab*fpp(13:21)
fdp(22:27)=gpp(28:33)+zab*fpp(22:27)
fdp(28:30)=gpp(37:39)+zab*fpp(28:30)
fdp(61:72)=gpp(49:60)+yab*fpp(31:42)
fdp(73:81)=gpp(64:72)+yab*fpp(43:51)
fdp(82:87)=gpp(76:81)+yab*fpp(52:57)
fdp(88:90)=gpp(85:87)+yab*fpp(58:60)
fdp(121:132)=gpp(94:105)+yab*fpp(61:72)
fdp(133:141)=gpp(109:117)+yab*fpp(73:81)
fdp(142:147)=gpp(121:126)+yab*fpp(82:87)
fdp(148:150)=gpp(130:132)+yab*fpp(88:90)
fdp(151:180)=gpp(106:135)+xab*fpp(61:90)
gdp(1:15)=hpp(1:15)+zab*gpp(1:15)
gdp(16:27)=hpp(19:30)+zab*gpp(16:27)
gdp(28:36)=hpp(34:42)+zab*gpp(28:36)
gdp(37:42)=hpp(46:51)+zab*gpp(37:42)
gdp(43:45)=hpp(55:57)+zab*gpp(43:45)
gdp(91:105)=hpp(67:81)+yab*gpp(46:60)
gdp(106:117)=hpp(85:96)+yab*gpp(61:72)
gdp(118:126)=hpp(100:108)+yab*gpp(73:81)
gdp(127:132)=hpp(112:117)+yab*gpp(82:87)
gdp(133:135)=hpp(121:123)+yab*gpp(88:90)
gdp(181:195)=hpp(130:144)+yab*gpp(91:105)
gdp(196:207)=hpp(148:159)+yab*gpp(106:117)
gdp(208:216)=hpp(163:171)+yab*gpp(118:126)
gdp(217:222)=hpp(175:180)+yab*gpp(127:132)
gdp(223:225)=hpp(184:186)+yab*gpp(133:135)
gdp(226:270)=hpp(145:189)+xab*gpp(91:135)
psp2(1:12)=gdp(1:12)+zab*fdp(1:12)
psp2(13:21)=gdp(16:24)+zab*fdp(13:21)
psp2(22:27)=gdp(28:33)+zab*fdp(22:27)
psp2(28:30)=gdp(37:39)+zab*fdp(28:30)
psp2(31:42)=gdp(4:15)+yab*fdp(1:12)
psp2(43:51)=gdp(19:27)+yab*fdp(13:21)
psp2(52:57)=gdp(31:36)+yab*fdp(22:27)
psp2(58:60)=gdp(40:42)+yab*fdp(28:30)
psp2(61:72)=gdp(91:102)+zab*fdp(61:72)
psp2(73:81)=gdp(106:114)+zab*fdp(73:81)
psp2(82:87)=gdp(118:123)+zab*fdp(82:87)
psp2(88:90)=gdp(127:129)+zab*fdp(88:90)
psp2(91:102)=gdp(94:105)+yab*fdp(61:72)
psp2(103:111)=gdp(109:117)+yab*fdp(73:81)
psp2(112:117)=gdp(121:126)+yab*fdp(82:87)
psp2(118:120)=gdp(130:132)+yab*fdp(88:90)
psp2(121:150)=gdp(16:45)+xab*fdp(1:30)
psp2(151:162)=gdp(181:192)+zab*fdp(121:132)
psp2(163:171)=gdp(196:204)+zab*fdp(133:141)
psp2(172:177)=gdp(208:213)+zab*fdp(142:147)
psp2(178:180)=gdp(217:219)+zab*fdp(148:150)
psp2(181:210)=gdp(106:135)+xab*fdp(61:90)
psp2(211:222)=gdp(226:237)+zab*fdp(151:162)
psp2(223:231)=gdp(241:249)+zab*fdp(163:171)
psp2(232:237)=gdp(253:258)+zab*fdp(172:177)
psp2(238:240)=gdp(262:264)+zab*fdp(178:180)
psp2(241:252)=gdp(229:240)+yab*fdp(151:162)
psp2(253:261)=gdp(244:252)+yab*fdp(163:171)
psp2(262:267)=gdp(256:261)+yab*fdp(172:177)
psp2(268:270)=gdp(265:267)+yab*fdp(178:180)
psp2(271:300)=gdp(241:270)+xab*fdp(151:180)
sp(1:30)=psp2(91:120)*(-0.79056941504209476967d0)+psp2(241:270)*2.
$37170824512628453107d0
sp(31:60)=psp2(151:180)*3.87298334620741657730d0
sp(61:90)=psp2(31:60)*2.44948974278317788134d0+psp2(91:120)*(-0.61
$237243569579447033d0)+psp2(241:270)*(-0.61237243569579447033d0)
sp(91:120)=psp2(1:30)+psp2(61:90)*(-1.50000000000000000000d0)+psp2
$(211:240)*(-1.50000000000000000000d0)
sp(121:150)=psp2(121:150)*2.44948974278317788134d0+psp2(181:210)*(
$-0.61237243569579447033d0)+psp2(271:300)*(-0.61237243569579447033d
$0)
sp(151:180)=psp2(61:90)*(-1.93649167310370828865d0)+psp2(211:240)*
$1.93649167310370828865d0
sp(181:210)=psp2(181:210)*(-2.37170824512628453107d0)+psp2(271:300
$)*0.79056941504209476967d0
do ji=0,6
ki=ji*30
jk=ji*3
do ii=0,9
k=ii*3
il=ii*21
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:21)=psp2(64:84)*(-0.79056941504209476967d0)+psp2(169:189)*2.3
$7170824512628453107d0
sp(22:42)=psp2(106:126)*3.87298334620741657730d0
sp(43:63)=psp2(22:42)*2.44948974278317788134d0+psp2(64:84)*(-0.612
$37243569579447033d0)+psp2(169:189)*(-0.61237243569579447033d0)
sp(64:84)=psp2(1:21)+psp2(43:63)*(-1.50000000000000000000d0)+psp2(
$148:168)*(-1.50000000000000000000d0)
sp(85:105)=psp2(85:105)*2.44948974278317788134d0+psp2(127:147)*(-0
$.61237243569579447033d0)+psp2(190:210)*(-0.61237243569579447033d0)
sp(106:126)=psp2(43:63)*(-1.93649167310370828865d0)+psp2(148:168)*
$1.93649167310370828865d0
sp(127:147)=psp2(127:147)*(-2.37170824512628453107d0)+psp2(190:210
$)*0.79056941504209476967d0
return
end
subroutine hrrspher_ffd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(500),psp(444)
real*8 psp2(500)
real*8 fpd(150),gpd(225),hpd(315),fdd(300),gdd(450),xab,yab,zab
sp(1:74)=psp(297:370)*1.73205080756887697113d0
sp(75:148)=psp(75:148)*1.73205080756887697113d0
sp(149:222)=psp(1:74)+psp(149:222)*(-0.50000000000000000000d0)+psp
$(371:444)*(-0.50000000000000000000d0)
sp(223:296)=psp(223:296)*1.73205080756887697113d0
sp(297:370)=psp(149:222)*(-0.86602540378443848557d0)+psp(371:444)*
$0.86602540378443848557d0
do ii=1,5
ji=(ii-1)*74
do ki=1,74
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
fpd(1:20)=psp(51:70)+zab*psp(1:20)
fpd(21:35)=psp(76:90)+zab*psp(21:35)
fpd(36:45)=psp(96:105)+zab*psp(36:45)
fpd(46:50)=psp(111:115)+zab*psp(46:50)
fpd(51:70)=psp(56:75)+yab*psp(1:20)
fpd(71:85)=psp(81:95)+yab*psp(21:35)
fpd(86:95)=psp(101:110)+yab*psp(36:45)
fpd(96:100)=psp(116:120)+yab*psp(46:50)
fpd(101:150)=psp(76:125)+xab*psp(1:50)
gpd(1:25)=psp(126:150)+zab*psp(51:75)
gpd(26:45)=psp(156:175)+zab*psp(76:95)
gpd(46:60)=psp(181:195)+zab*psp(96:110)
gpd(61:70)=psp(201:210)+zab*psp(111:120)
gpd(71:75)=psp(216:220)+zab*psp(121:125)
gpd(76:100)=psp(131:155)+yab*psp(51:75)
gpd(101:120)=psp(161:180)+yab*psp(76:95)
gpd(121:135)=psp(186:200)+yab*psp(96:110)
gpd(136:145)=psp(206:215)+yab*psp(111:120)
gpd(146:150)=psp(221:225)+yab*psp(121:125)
gpd(151:225)=psp(156:230)+xab*psp(51:125)
hpd(1:30)=psp(231:260)+zab*psp(126:155)
hpd(31:55)=psp(266:290)+zab*psp(156:180)
hpd(56:75)=psp(296:315)+zab*psp(181:200)
hpd(76:90)=psp(321:335)+zab*psp(201:215)
hpd(91:100)=psp(341:350)+zab*psp(216:225)
hpd(101:105)=psp(356:360)+zab*psp(226:230)
hpd(106:135)=psp(236:265)+yab*psp(126:155)
hpd(136:160)=psp(271:295)+yab*psp(156:180)
hpd(161:180)=psp(301:320)+yab*psp(181:200)
hpd(181:195)=psp(326:340)+yab*psp(201:215)
hpd(196:205)=psp(346:355)+yab*psp(216:225)
hpd(206:210)=psp(361:365)+yab*psp(226:230)
hpd(211:315)=psp(266:370)+xab*psp(126:230)
fdd(1:20)=gpd(1:20)+zab*fpd(1:20)
fdd(21:35)=gpd(26:40)+zab*fpd(21:35)
fdd(36:45)=gpd(46:55)+zab*fpd(36:45)
fdd(46:50)=gpd(61:65)+zab*fpd(46:50)
fdd(101:120)=gpd(81:100)+yab*fpd(51:70)
fdd(121:135)=gpd(106:120)+yab*fpd(71:85)
fdd(136:145)=gpd(126:135)+yab*fpd(86:95)
fdd(146:150)=gpd(141:145)+yab*fpd(96:100)
fdd(201:220)=gpd(156:175)+yab*fpd(101:120)
fdd(221:235)=gpd(181:195)+yab*fpd(121:135)
fdd(236:245)=gpd(201:210)+yab*fpd(136:145)
fdd(246:250)=gpd(216:220)+yab*fpd(146:150)
fdd(251:300)=gpd(176:225)+xab*fpd(101:150)
gdd(1:25)=hpd(1:25)+zab*gpd(1:25)
gdd(26:45)=hpd(31:50)+zab*gpd(26:45)
gdd(46:60)=hpd(56:70)+zab*gpd(46:60)
gdd(61:70)=hpd(76:85)+zab*gpd(61:70)
gdd(71:75)=hpd(91:95)+zab*gpd(71:75)
gdd(151:175)=hpd(111:135)+yab*gpd(76:100)
gdd(176:195)=hpd(141:160)+yab*gpd(101:120)
gdd(196:210)=hpd(166:180)+yab*gpd(121:135)
gdd(211:220)=hpd(186:195)+yab*gpd(136:145)
gdd(221:225)=hpd(201:205)+yab*gpd(146:150)
gdd(301:325)=hpd(216:240)+yab*gpd(151:175)
gdd(326:345)=hpd(246:265)+yab*gpd(176:195)
gdd(346:360)=hpd(271:285)+yab*gpd(196:210)
gdd(361:370)=hpd(291:300)+yab*gpd(211:220)
gdd(371:375)=hpd(306:310)+yab*gpd(221:225)
gdd(376:450)=hpd(241:315)+xab*gpd(151:225)
psp2(1:20)=gdd(1:20)+zab*fdd(1:20)
psp2(21:35)=gdd(26:40)+zab*fdd(21:35)
psp2(36:45)=gdd(46:55)+zab*fdd(36:45)
psp2(46:50)=gdd(61:65)+zab*fdd(46:50)
psp2(51:70)=gdd(6:25)+yab*fdd(1:20)
psp2(71:85)=gdd(31:45)+yab*fdd(21:35)
psp2(86:95)=gdd(51:60)+yab*fdd(36:45)
psp2(96:100)=gdd(66:70)+yab*fdd(46:50)
psp2(101:120)=gdd(151:170)+zab*fdd(101:120)
psp2(121:135)=gdd(176:190)+zab*fdd(121:135)
psp2(136:145)=gdd(196:205)+zab*fdd(136:145)
psp2(146:150)=gdd(211:215)+zab*fdd(146:150)
psp2(151:170)=gdd(156:175)+yab*fdd(101:120)
psp2(171:185)=gdd(181:195)+yab*fdd(121:135)
psp2(186:195)=gdd(201:210)+yab*fdd(136:145)
psp2(196:200)=gdd(216:220)+yab*fdd(146:150)
psp2(201:250)=gdd(26:75)+xab*fdd(1:50)
psp2(251:270)=gdd(301:320)+zab*fdd(201:220)
psp2(271:285)=gdd(326:340)+zab*fdd(221:235)
psp2(286:295)=gdd(346:355)+zab*fdd(236:245)
psp2(296:300)=gdd(361:365)+zab*fdd(246:250)
psp2(301:350)=gdd(176:225)+xab*fdd(101:150)
psp2(351:370)=gdd(376:395)+zab*fdd(251:270)
psp2(371:385)=gdd(401:415)+zab*fdd(271:285)
psp2(386:395)=gdd(421:430)+zab*fdd(286:295)
psp2(396:400)=gdd(436:440)+zab*fdd(296:300)
psp2(401:420)=gdd(381:400)+yab*fdd(251:270)
psp2(421:435)=gdd(406:420)+yab*fdd(271:285)
psp2(436:445)=gdd(426:435)+yab*fdd(286:295)
psp2(446:450)=gdd(441:445)+yab*fdd(296:300)
psp2(451:500)=gdd(401:450)+xab*fdd(251:300)
sp(1:50)=psp2(151:200)*(-0.79056941504209476967d0)+psp2(401:450)*2
$.37170824512628453107d0
sp(51:100)=psp2(251:300)*3.87298334620741657730d0
sp(101:150)=psp2(51:100)*2.44948974278317788134d0+psp2(151:200)*(-
$0.61237243569579447033d0)+psp2(401:450)*(-0.61237243569579447033d0
$)
sp(151:200)=psp2(1:50)+psp2(101:150)*(-1.50000000000000000000d0)+p
$sp2(351:400)*(-1.50000000000000000000d0)
sp(201:250)=psp2(201:250)*2.44948974278317788134d0+psp2(301:350)*(
$-0.61237243569579447033d0)+psp2(451:500)*(-0.61237243569579447033d
$0)
sp(251:300)=psp2(101:150)*(-1.93649167310370828865d0)+psp2(351:400
$)*1.93649167310370828865d0
sp(301:350)=psp2(301:350)*(-2.37170824512628453107d0)+psp2(451:500
$)*0.79056941504209476967d0
do ji=0,6
ki=ji*50
jk=ji*5
do ii=0,9
k=ii*5
il=ii*35
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:35)=psp2(106:140)*(-0.79056941504209476967d0)+psp2(281:315)*2
$.37170824512628453107d0
sp(36:70)=psp2(176:210)*3.87298334620741657730d0
sp(71:105)=psp2(36:70)*2.44948974278317788134d0+psp2(106:140)*(-0.
$61237243569579447033d0)+psp2(281:315)*(-0.61237243569579447033d0)
sp(106:140)=psp2(1:35)+psp2(71:105)*(-1.50000000000000000000d0)+ps
$p2(246:280)*(-1.50000000000000000000d0)
sp(141:175)=psp2(141:175)*2.44948974278317788134d0+psp2(211:245)*(
$-0.61237243569579447033d0)+psp2(316:350)*(-0.61237243569579447033d
$0)
sp(176:210)=psp2(71:105)*(-1.93649167310370828865d0)+psp2(246:280)
$*1.93649167310370828865d0
sp(211:245)=psp2(211:245)*(-2.37170824512628453107d0)+psp2(316:350
$)*0.79056941504209476967d0
return
end
subroutine hrrspher_fff_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(700),psp(740)
real*8 fpf(210),gpf(315),hpf(441),fdf(420),gdf(630),xab,yab,zab
sp(1:74)=psp(223:296)*(-0.79056941504209476967d0)+psp(593:666)*2.3
$7170824512628453107d0
sp(75:148)=psp(371:444)*3.87298334620741657730d0
sp(149:222)=psp(75:148)*2.44948974278317788134d0+psp(223:296)*(-0.
$61237243569579447033d0)+psp(593:666)*(-0.61237243569579447033d0)
sp(223:296)=psp(1:74)+psp(149:222)*(-1.50000000000000000000d0)+psp
$(519:592)*(-1.50000000000000000000d0)
sp(297:370)=psp(297:370)*2.44948974278317788134d0+psp(445:518)*(-0
$.61237243569579447033d0)+psp(667:740)*(-0.61237243569579447033d0)
sp(371:444)=psp(149:222)*(-1.93649167310370828865d0)+psp(519:592)*
$1.93649167310370828865d0
sp(445:518)=psp(445:518)*(-2.37170824512628453107d0)+psp(667:740)*
$0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*74
do ki=1,74
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
fpf(1:28)=psp(71:98)+zab*psp(1:28)
fpf(29:49)=psp(106:126)+zab*psp(29:49)
fpf(50:63)=psp(134:147)+zab*psp(50:63)
fpf(64:70)=psp(155:161)+zab*psp(64:70)
fpf(71:98)=psp(78:105)+yab*psp(1:28)
fpf(99:119)=psp(113:133)+yab*psp(29:49)
fpf(120:133)=psp(141:154)+yab*psp(50:63)
fpf(134:140)=psp(162:168)+yab*psp(64:70)
fpf(141:210)=psp(106:175)+xab*psp(1:70)
gpf(1:35)=psp(176:210)+zab*psp(71:105)
gpf(36:63)=psp(218:245)+zab*psp(106:133)
gpf(64:84)=psp(253:273)+zab*psp(134:154)
gpf(85:98)=psp(281:294)+zab*psp(155:168)
gpf(99:105)=psp(302:308)+zab*psp(169:175)
gpf(106:140)=psp(183:217)+yab*psp(71:105)
gpf(141:168)=psp(225:252)+yab*psp(106:133)
gpf(169:189)=psp(260:280)+yab*psp(134:154)
gpf(190:203)=psp(288:301)+yab*psp(155:168)
gpf(204:210)=psp(309:315)+yab*psp(169:175)
gpf(211:315)=psp(218:322)+xab*psp(71:175)
hpf(1:42)=psp(323:364)+zab*psp(176:217)
hpf(43:77)=psp(372:406)+zab*psp(218:252)
hpf(78:105)=psp(414:441)+zab*psp(253:280)
hpf(106:126)=psp(449:469)+zab*psp(281:301)
hpf(127:140)=psp(477:490)+zab*psp(302:315)
hpf(141:147)=psp(498:504)+zab*psp(316:322)
hpf(148:189)=psp(330:371)+yab*psp(176:217)
hpf(190:224)=psp(379:413)+yab*psp(218:252)
hpf(225:252)=psp(421:448)+yab*psp(253:280)
hpf(253:273)=psp(456:476)+yab*psp(281:301)
hpf(274:287)=psp(484:497)+yab*psp(302:315)
hpf(288:294)=psp(505:511)+yab*psp(316:322)
hpf(295:441)=psp(372:518)+xab*psp(176:322)
fdf(1:28)=gpf(1:28)+zab*fpf(1:28)
fdf(29:49)=gpf(36:56)+zab*fpf(29:49)
fdf(50:63)=gpf(64:77)+zab*fpf(50:63)
fdf(64:70)=gpf(85:91)+zab*fpf(64:70)
fdf(141:168)=gpf(113:140)+yab*fpf(71:98)
fdf(169:189)=gpf(148:168)+yab*fpf(99:119)
fdf(190:203)=gpf(176:189)+yab*fpf(120:133)
fdf(204:210)=gpf(197:203)+yab*fpf(134:140)
fdf(281:308)=gpf(218:245)+yab*fpf(141:168)
fdf(309:329)=gpf(253:273)+yab*fpf(169:189)
fdf(330:343)=gpf(281:294)+yab*fpf(190:203)
fdf(344:350)=gpf(302:308)+yab*fpf(204:210)
fdf(351:420)=gpf(246:315)+xab*fpf(141:210)
gdf(1:35)=hpf(1:35)+zab*gpf(1:35)
gdf(36:63)=hpf(43:70)+zab*gpf(36:63)
gdf(64:84)=hpf(78:98)+zab*gpf(64:84)
gdf(85:98)=hpf(106:119)+zab*gpf(85:98)
gdf(99:105)=hpf(127:133)+zab*gpf(99:105)
gdf(211:245)=hpf(155:189)+yab*gpf(106:140)
gdf(246:273)=hpf(197:224)+yab*gpf(141:168)
gdf(274:294)=hpf(232:252)+yab*gpf(169:189)
gdf(295:308)=hpf(260:273)+yab*gpf(190:203)
gdf(309:315)=hpf(281:287)+yab*gpf(204:210)
gdf(421:455)=hpf(302:336)+yab*gpf(211:245)
gdf(456:483)=hpf(344:371)+yab*gpf(246:273)
gdf(484:504)=hpf(379:399)+yab*gpf(274:294)
gdf(505:518)=hpf(407:420)+yab*gpf(295:308)
gdf(519:525)=hpf(428:434)+yab*gpf(309:315)
gdf(526:630)=hpf(337:441)+xab*gpf(211:315)
psp(1:28)=gdf(1:28)+zab*fdf(1:28)
psp(29:49)=gdf(36:56)+zab*fdf(29:49)
psp(50:63)=gdf(64:77)+zab*fdf(50:63)
psp(64:70)=gdf(85:91)+zab*fdf(64:70)
psp(71:98)=gdf(8:35)+yab*fdf(1:28)
psp(99:119)=gdf(43:63)+yab*fdf(29:49)
psp(120:133)=gdf(71:84)+yab*fdf(50:63)
psp(134:140)=gdf(92:98)+yab*fdf(64:70)
psp(141:168)=gdf(211:238)+zab*fdf(141:168)
psp(169:189)=gdf(246:266)+zab*fdf(169:189)
psp(190:203)=gdf(274:287)+zab*fdf(190:203)
psp(204:210)=gdf(295:301)+zab*fdf(204:210)
psp(211:238)=gdf(218:245)+yab*fdf(141:168)
psp(239:259)=gdf(253:273)+yab*fdf(169:189)
psp(260:273)=gdf(281:294)+yab*fdf(190:203)
psp(274:280)=gdf(302:308)+yab*fdf(204:210)
psp(281:350)=gdf(36:105)+xab*fdf(1:70)
psp(351:378)=gdf(421:448)+zab*fdf(281:308)
psp(379:399)=gdf(456:476)+zab*fdf(309:329)
psp(400:413)=gdf(484:497)+zab*fdf(330:343)
psp(414:420)=gdf(505:511)+zab*fdf(344:350)
psp(421:490)=gdf(246:315)+xab*fdf(141:210)
psp(491:518)=gdf(526:553)+zab*fdf(351:378)
psp(519:539)=gdf(561:581)+zab*fdf(379:399)
psp(540:553)=gdf(589:602)+zab*fdf(400:413)
psp(554:560)=gdf(610:616)+zab*fdf(414:420)
psp(561:588)=gdf(533:560)+yab*fdf(351:378)
psp(589:609)=gdf(568:588)+yab*fdf(379:399)
psp(610:623)=gdf(596:609)+yab*fdf(400:413)
psp(624:630)=gdf(617:623)+yab*fdf(414:420)
psp(631:700)=gdf(561:630)+xab*fdf(351:420)
sp(1:70)=psp(211:280)*(-0.79056941504209476967d0)+psp(561:630)*2.3
$7170824512628453107d0
sp(71:140)=psp(351:420)*3.87298334620741657730d0
sp(141:210)=psp(71:140)*2.44948974278317788134d0+psp(211:280)*(-0.
$61237243569579447033d0)+psp(561:630)*(-0.61237243569579447033d0)
sp(211:280)=psp(1:70)+psp(141:210)*(-1.50000000000000000000d0)+psp
$(491:560)*(-1.50000000000000000000d0)
sp(281:350)=psp(281:350)*2.44948974278317788134d0+psp(421:490)*(-0
$.61237243569579447033d0)+psp(631:700)*(-0.61237243569579447033d0)
sp(351:420)=psp(141:210)*(-1.93649167310370828865d0)+psp(491:560)*
$1.93649167310370828865d0
sp(421:490)=psp(421:490)*(-2.37170824512628453107d0)+psp(631:700)*
$0.79056941504209476967d0
do ji=0,6
ki=ji*70
jk=ji*7
do ii=0,9
k=ii*7
il=ii*49
do ik=1,7
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:49)=psp(148:196)*(-0.79056941504209476967d0)+psp(393:441)*2.3
$7170824512628453107d0
sp(50:98)=psp(246:294)*3.87298334620741657730d0
sp(99:147)=psp(50:98)*2.44948974278317788134d0+psp(148:196)*(-0.61
$237243569579447033d0)+psp(393:441)*(-0.61237243569579447033d0)
sp(148:196)=psp(1:49)+psp(99:147)*(-1.50000000000000000000d0)+psp(
$344:392)*(-1.50000000000000000000d0)
sp(197:245)=psp(197:245)*2.44948974278317788134d0+psp(295:343)*(-0
$.61237243569579447033d0)+psp(442:490)*(-0.61237243569579447033d0)
sp(246:294)=psp(99:147)*(-1.93649167310370828865d0)+psp(344:392)*1
$.93649167310370828865d0
sp(295:343)=psp(295:343)*(-2.37170824512628453107d0)+psp(442:490)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_ffg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(900),psp(1110)
real*8 fpg(270),gpg(405),hpg(567),fdg(540),gdg(810),xab,yab,zab
sp(1:74)=psp(593:666)*(-2.95803989154980806475d0)+psp(963:1036)*2.
$95803989154980806475d0
sp(75:148)=psp(223:296)*(-2.09165006633518890666d0)+psp(741:814)*6
$.27495019900556627590d0
sp(149:222)=psp(445:518)*6.70820393249936941515d0+psp(593:666)*(-1
$.11803398874989490253d0)+psp(963:1036)*(-1.11803398874989490253d0)
sp(223:296)=psp(75:148)*3.16227766016837907870d0+psp(223:296)*(-2.
$37170824512628453107d0)+psp(741:814)*(-2.37170824512628453107d0)
sp(297:370)=psp(1:74)+psp(149:222)*(-3.00000000000000000000d0)+psp
$(297:370)*0.37500000000000000000d0+psp(667:740)*(-3.00000000000000
$000000d0)+psp(815:888)*0.75000000000000000000d0+psp(1037:1110)*0.3
$7500000000000000000d0
sp(371:444)=psp(371:444)*3.16227766016837907870d0+psp(519:592)*(-2
$.37170824512628453107d0)+psp(889:962)*(-2.37170824512628453107d0)
sp(445:518)=psp(149:222)*(-3.35410196624968470758d0)+psp(297:370)*
$0.55901699437494745126d0+psp(667:740)*3.35410196624968470758d0+psp
$(1037:1110)*(-0.55901699437494745126d0)
sp(519:592)=psp(519:592)*(-6.27495019900556627590d0)+psp(889:962)*
$2.09165006633518890666d0
sp(593:666)=psp(297:370)*0.73950997288745201619d0+psp(815:888)*(-4
$.43705983732471231917d0)+psp(1037:1110)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*74
do ki=1,74
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
fpg(1:36)=psp(91:126)+zab*psp(1:36)
fpg(37:63)=psp(136:162)+zab*psp(37:63)
fpg(64:81)=psp(172:189)+zab*psp(64:81)
fpg(82:90)=psp(199:207)+zab*psp(82:90)
fpg(91:126)=psp(100:135)+yab*psp(1:36)
fpg(127:153)=psp(145:171)+yab*psp(37:63)
fpg(154:171)=psp(181:198)+yab*psp(64:81)
fpg(172:180)=psp(208:216)+yab*psp(82:90)
fpg(181:270)=psp(136:225)+xab*psp(1:90)
gpg(1:45)=psp(226:270)+zab*psp(91:135)
gpg(46:81)=psp(280:315)+zab*psp(136:171)
gpg(82:108)=psp(325:351)+zab*psp(172:198)
gpg(109:126)=psp(361:378)+zab*psp(199:216)
gpg(127:135)=psp(388:396)+zab*psp(217:225)
gpg(136:180)=psp(235:279)+yab*psp(91:135)
gpg(181:216)=psp(289:324)+yab*psp(136:171)
gpg(217:243)=psp(334:360)+yab*psp(172:198)
gpg(244:261)=psp(370:387)+yab*psp(199:216)
gpg(262:270)=psp(397:405)+yab*psp(217:225)
gpg(271:405)=psp(280:414)+xab*psp(91:225)
hpg(1:54)=psp(415:468)+zab*psp(226:279)
hpg(55:99)=psp(478:522)+zab*psp(280:324)
hpg(100:135)=psp(532:567)+zab*psp(325:360)
hpg(136:162)=psp(577:603)+zab*psp(361:387)
hpg(163:180)=psp(613:630)+zab*psp(388:405)
hpg(181:189)=psp(640:648)+zab*psp(406:414)
hpg(190:243)=psp(424:477)+yab*psp(226:279)
hpg(244:288)=psp(487:531)+yab*psp(280:324)
hpg(289:324)=psp(541:576)+yab*psp(325:360)
hpg(325:351)=psp(586:612)+yab*psp(361:387)
hpg(352:369)=psp(622:639)+yab*psp(388:405)
hpg(370:378)=psp(649:657)+yab*psp(406:414)
hpg(379:567)=psp(478:666)+xab*psp(226:414)
fdg(1:36)=gpg(1:36)+zab*fpg(1:36)
fdg(37:63)=gpg(46:72)+zab*fpg(37:63)
fdg(64:81)=gpg(82:99)+zab*fpg(64:81)
fdg(82:90)=gpg(109:117)+zab*fpg(82:90)
fdg(181:216)=gpg(145:180)+yab*fpg(91:126)
fdg(217:243)=gpg(190:216)+yab*fpg(127:153)
fdg(244:261)=gpg(226:243)+yab*fpg(154:171)
fdg(262:270)=gpg(253:261)+yab*fpg(172:180)
fdg(361:396)=gpg(280:315)+yab*fpg(181:216)
fdg(397:423)=gpg(325:351)+yab*fpg(217:243)
fdg(424:441)=gpg(361:378)+yab*fpg(244:261)
fdg(442:450)=gpg(388:396)+yab*fpg(262:270)
fdg(451:540)=gpg(316:405)+xab*fpg(181:270)
gdg(1:45)=hpg(1:45)+zab*gpg(1:45)
gdg(46:81)=hpg(55:90)+zab*gpg(46:81)
gdg(82:108)=hpg(100:126)+zab*gpg(82:108)
gdg(109:126)=hpg(136:153)+zab*gpg(109:126)
gdg(127:135)=hpg(163:171)+zab*gpg(127:135)
gdg(271:315)=hpg(199:243)+yab*gpg(136:180)
gdg(316:351)=hpg(253:288)+yab*gpg(181:216)
gdg(352:378)=hpg(298:324)+yab*gpg(217:243)
gdg(379:396)=hpg(334:351)+yab*gpg(244:261)
gdg(397:405)=hpg(361:369)+yab*gpg(262:270)
gdg(541:585)=hpg(388:432)+yab*gpg(271:315)
gdg(586:621)=hpg(442:477)+yab*gpg(316:351)
gdg(622:648)=hpg(487:513)+yab*gpg(352:378)
gdg(649:666)=hpg(523:540)+yab*gpg(379:396)
gdg(667:675)=hpg(550:558)+yab*gpg(397:405)
gdg(676:810)=hpg(433:567)+xab*gpg(271:405)
psp(1:36)=gdg(1:36)+zab*fdg(1:36)
psp(37:63)=gdg(46:72)+zab*fdg(37:63)
psp(64:81)=gdg(82:99)+zab*fdg(64:81)
psp(82:90)=gdg(109:117)+zab*fdg(82:90)
psp(91:126)=gdg(10:45)+yab*fdg(1:36)
psp(127:153)=gdg(55:81)+yab*fdg(37:63)
psp(154:171)=gdg(91:108)+yab*fdg(64:81)
psp(172:180)=gdg(118:126)+yab*fdg(82:90)
psp(181:216)=gdg(271:306)+zab*fdg(181:216)
psp(217:243)=gdg(316:342)+zab*fdg(217:243)
psp(244:261)=gdg(352:369)+zab*fdg(244:261)
psp(262:270)=gdg(379:387)+zab*fdg(262:270)
psp(271:306)=gdg(280:315)+yab*fdg(181:216)
psp(307:333)=gdg(325:351)+yab*fdg(217:243)
psp(334:351)=gdg(361:378)+yab*fdg(244:261)
psp(352:360)=gdg(388:396)+yab*fdg(262:270)
psp(361:450)=gdg(46:135)+xab*fdg(1:90)
psp(451:486)=gdg(541:576)+zab*fdg(361:396)
psp(487:513)=gdg(586:612)+zab*fdg(397:423)
psp(514:531)=gdg(622:639)+zab*fdg(424:441)
psp(532:540)=gdg(649:657)+zab*fdg(442:450)
psp(541:630)=gdg(316:405)+xab*fdg(181:270)
psp(631:666)=gdg(676:711)+zab*fdg(451:486)
psp(667:693)=gdg(721:747)+zab*fdg(487:513)
psp(694:711)=gdg(757:774)+zab*fdg(514:531)
psp(712:720)=gdg(784:792)+zab*fdg(532:540)
psp(721:756)=gdg(685:720)+yab*fdg(451:486)
psp(757:783)=gdg(730:756)+yab*fdg(487:513)
psp(784:801)=gdg(766:783)+yab*fdg(514:531)
psp(802:810)=gdg(793:801)+yab*fdg(532:540)
psp(811:900)=gdg(721:810)+xab*fdg(451:540)
sp(1:90)=psp(271:360)*(-0.79056941504209476967d0)+psp(721:810)*2.3
$7170824512628453107d0
sp(91:180)=psp(451:540)*3.87298334620741657730d0
sp(181:270)=psp(91:180)*2.44948974278317788134d0+psp(271:360)*(-0.
$61237243569579447033d0)+psp(721:810)*(-0.61237243569579447033d0)
sp(271:360)=psp(1:90)+psp(181:270)*(-1.50000000000000000000d0)+psp
$(631:720)*(-1.50000000000000000000d0)
sp(361:450)=psp(361:450)*2.44948974278317788134d0+psp(541:630)*(-0
$.61237243569579447033d0)+psp(811:900)*(-0.61237243569579447033d0)
sp(451:540)=psp(181:270)*(-1.93649167310370828865d0)+psp(631:720)*
$1.93649167310370828865d0
sp(541:630)=psp(541:630)*(-2.37170824512628453107d0)+psp(811:900)*
$0.79056941504209476967d0
do ji=0,6
ki=ji*90
jk=ji*9
do ii=0,9
k=ii*9
il=ii*63
do ik=1,9
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:63)=psp(190:252)*(-0.79056941504209476967d0)+psp(505:567)*2.3
$7170824512628453107d0
sp(64:126)=psp(316:378)*3.87298334620741657730d0
sp(127:189)=psp(64:126)*2.44948974278317788134d0+psp(190:252)*(-0.
$61237243569579447033d0)+psp(505:567)*(-0.61237243569579447033d0)
sp(190:252)=psp(1:63)+psp(127:189)*(-1.50000000000000000000d0)+psp
$(442:504)*(-1.50000000000000000000d0)
sp(253:315)=psp(253:315)*2.44948974278317788134d0+psp(379:441)*(-0
$.61237243569579447033d0)+psp(568:630)*(-0.61237243569579447033d0)
sp(316:378)=psp(127:189)*(-1.93649167310370828865d0)+psp(442:504)*
$1.93649167310370828865d0
sp(379:441)=psp(379:441)*(-2.37170824512628453107d0)+psp(568:630)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_ffh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1100),psp(1554)
real*8 fph(330),gph(495),hph(693),fdh(660),gdh(990),xab,yab,zab
sp(1:74)=psp(371:444)*0.70156076002011391601d0+psp(1037:1110)*(-7.
$01560760020113871605d0)+psp(1407:1480)*3.50780380010056935802d0
sp(75:148)=psp(667:740)*(-8.87411967464942463835d0)+psp(1185:1258)
$*8.87411967464942463835d0
sp(149:222)=psp(223:296)*(-4.18330013267037692515d0)+psp(371:444)*
$0.52291251658379711564d0+psp(889:962)*12.54990039801113255180d0+ps
$p(1037:1110)*(-1.04582503316759423129d0)+psp(1407:1480)*(-1.568737
$54975139156898d0)
sp(223:296)=psp(519:592)*10.24695076595959974952d0+psp(667:740)*(-
$5.12347538297979987476d0)+psp(1185:1258)*(-5.12347538297979987476d
$0)
sp(297:370)=psp(75:148)*3.87298334620741613321d0+psp(223:296)*(-5.
$80947501931112419982d0)+psp(371:444)*0.48412291827592701665d0+psp(
$889:962)*(-5.80947501931112419982d0)+psp(1037:1110)*0.968245836551
$85403330d0+psp(1407:1480)*0.48412291827592701665d0
sp(371:444)=psp(1:74)+psp(149:222)*(-5.00000000000000000000d0)+psp
$(297:370)*1.87500000000000000000d0+psp(815:888)*(-5.00000000000000
$000000d0)+psp(963:1036)*3.75000000000000000000d0+psp(1333:1406)*1.
$87500000000000000000d0
sp(445:518)=psp(445:518)*3.87298334620741613321d0+psp(593:666)*(-5
$.80947501931112419982d0)+psp(741:814)*0.48412291827592701665d0+psp
$(1111:1184)*(-5.80947501931112419982d0)+psp(1259:1332)*0.968245836
$55185403330d0+psp(1481:1554)*0.48412291827592701665d0
sp(519:592)=psp(149:222)*(-5.12347538297979987476d0)+psp(297:370)*
$2.56173769148989993738d0+psp(815:888)*5.12347538297979987476d0+psp
$(1333:1406)*(-2.56173769148989993738d0)
sp(593:666)=psp(593:666)*(-12.54990039801113255180d0)+psp(741:814)
$*1.56873754975139156898d0+psp(1111:1184)*4.18330013267037692515d0+
$psp(1259:1332)*1.04582503316759423129d0+psp(1481:1554)*(-0.5229125
$1658379711564d0)
sp(667:740)=psp(297:370)*2.21852991866235615959d0+psp(963:1036)*(-
$13.31117951197413695752d0)+psp(1333:1406)*2.21852991866235615959d0
sp(741:814)=psp(741:814)*3.50780380010056935802d0+psp(1259:1332)*(
$-7.01560760020113871605d0)+psp(1481:1554)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*74
do ki=1,74
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
fph(1:44)=psp(111:154)+zab*psp(1:44)
fph(45:77)=psp(166:198)+zab*psp(45:77)
fph(78:99)=psp(210:231)+zab*psp(78:99)
fph(100:110)=psp(243:253)+zab*psp(100:110)
fph(111:154)=psp(122:165)+yab*psp(1:44)
fph(155:187)=psp(177:209)+yab*psp(45:77)
fph(188:209)=psp(221:242)+yab*psp(78:99)
fph(210:220)=psp(254:264)+yab*psp(100:110)
fph(221:330)=psp(166:275)+xab*psp(1:110)
gph(1:55)=psp(276:330)+zab*psp(111:165)
gph(56:99)=psp(342:385)+zab*psp(166:209)
gph(100:132)=psp(397:429)+zab*psp(210:242)
gph(133:154)=psp(441:462)+zab*psp(243:264)
gph(155:165)=psp(474:484)+zab*psp(265:275)
gph(166:220)=psp(287:341)+yab*psp(111:165)
gph(221:264)=psp(353:396)+yab*psp(166:209)
gph(265:297)=psp(408:440)+yab*psp(210:242)
gph(298:319)=psp(452:473)+yab*psp(243:264)
gph(320:330)=psp(485:495)+yab*psp(265:275)
gph(331:495)=psp(342:506)+xab*psp(111:275)
hph(1:66)=psp(507:572)+zab*psp(276:341)
hph(67:121)=psp(584:638)+zab*psp(342:396)
hph(122:165)=psp(650:693)+zab*psp(397:440)
hph(166:198)=psp(705:737)+zab*psp(441:473)
hph(199:220)=psp(749:770)+zab*psp(474:495)
hph(221:231)=psp(782:792)+zab*psp(496:506)
hph(232:297)=psp(518:583)+yab*psp(276:341)
hph(298:352)=psp(595:649)+yab*psp(342:396)
hph(353:396)=psp(661:704)+yab*psp(397:440)
hph(397:429)=psp(716:748)+yab*psp(441:473)
hph(430:451)=psp(760:781)+yab*psp(474:495)
hph(452:462)=psp(793:803)+yab*psp(496:506)
hph(463:693)=psp(584:814)+xab*psp(276:506)
fdh(1:44)=gph(1:44)+zab*fph(1:44)
fdh(45:77)=gph(56:88)+zab*fph(45:77)
fdh(78:99)=gph(100:121)+zab*fph(78:99)
fdh(100:110)=gph(133:143)+zab*fph(100:110)
fdh(221:264)=gph(177:220)+yab*fph(111:154)
fdh(265:297)=gph(232:264)+yab*fph(155:187)
fdh(298:319)=gph(276:297)+yab*fph(188:209)
fdh(320:330)=gph(309:319)+yab*fph(210:220)
fdh(441:484)=gph(342:385)+yab*fph(221:264)
fdh(485:517)=gph(397:429)+yab*fph(265:297)
fdh(518:539)=gph(441:462)+yab*fph(298:319)
fdh(540:550)=gph(474:484)+yab*fph(320:330)
fdh(551:660)=gph(386:495)+xab*fph(221:330)
gdh(1:55)=hph(1:55)+zab*gph(1:55)
gdh(56:99)=hph(67:110)+zab*gph(56:99)
gdh(100:132)=hph(122:154)+zab*gph(100:132)
gdh(133:154)=hph(166:187)+zab*gph(133:154)
gdh(155:165)=hph(199:209)+zab*gph(155:165)
gdh(331:385)=hph(243:297)+yab*gph(166:220)
gdh(386:429)=hph(309:352)+yab*gph(221:264)
gdh(430:462)=hph(364:396)+yab*gph(265:297)
gdh(463:484)=hph(408:429)+yab*gph(298:319)
gdh(485:495)=hph(441:451)+yab*gph(320:330)
gdh(661:715)=hph(474:528)+yab*gph(331:385)
gdh(716:759)=hph(540:583)+yab*gph(386:429)
gdh(760:792)=hph(595:627)+yab*gph(430:462)
gdh(793:814)=hph(639:660)+yab*gph(463:484)
gdh(815:825)=hph(672:682)+yab*gph(485:495)
gdh(826:990)=hph(529:693)+xab*gph(331:495)
psp(1:44)=gdh(1:44)+zab*fdh(1:44)
psp(45:77)=gdh(56:88)+zab*fdh(45:77)
psp(78:99)=gdh(100:121)+zab*fdh(78:99)
psp(100:110)=gdh(133:143)+zab*fdh(100:110)
psp(111:154)=gdh(12:55)+yab*fdh(1:44)
psp(155:187)=gdh(67:99)+yab*fdh(45:77)
psp(188:209)=gdh(111:132)+yab*fdh(78:99)
psp(210:220)=gdh(144:154)+yab*fdh(100:110)
psp(221:264)=gdh(331:374)+zab*fdh(221:264)
psp(265:297)=gdh(386:418)+zab*fdh(265:297)
psp(298:319)=gdh(430:451)+zab*fdh(298:319)
psp(320:330)=gdh(463:473)+zab*fdh(320:330)
psp(331:374)=gdh(342:385)+yab*fdh(221:264)
psp(375:407)=gdh(397:429)+yab*fdh(265:297)
psp(408:429)=gdh(441:462)+yab*fdh(298:319)
psp(430:440)=gdh(474:484)+yab*fdh(320:330)
psp(441:550)=gdh(56:165)+xab*fdh(1:110)
psp(551:594)=gdh(661:704)+zab*fdh(441:484)
psp(595:627)=gdh(716:748)+zab*fdh(485:517)
psp(628:649)=gdh(760:781)+zab*fdh(518:539)
psp(650:660)=gdh(793:803)+zab*fdh(540:550)
psp(661:770)=gdh(386:495)+xab*fdh(221:330)
psp(771:814)=gdh(826:869)+zab*fdh(551:594)
psp(815:847)=gdh(881:913)+zab*fdh(595:627)
psp(848:869)=gdh(925:946)+zab*fdh(628:649)
psp(870:880)=gdh(958:968)+zab*fdh(650:660)
psp(881:924)=gdh(837:880)+yab*fdh(551:594)
psp(925:957)=gdh(892:924)+yab*fdh(595:627)
psp(958:979)=gdh(936:957)+yab*fdh(628:649)
psp(980:990)=gdh(969:979)+yab*fdh(650:660)
psp(991:1100)=gdh(881:990)+xab*fdh(551:660)
sp(1:110)=psp(331:440)*(-0.79056941504209476967d0)+psp(881:990)*2.
$37170824512628453107d0
sp(111:220)=psp(551:660)*3.87298334620741657730d0
sp(221:330)=psp(111:220)*2.44948974278317788134d0+psp(331:440)*(-0
$.61237243569579447033d0)+psp(881:990)*(-0.61237243569579447033d0)
sp(331:440)=psp(1:110)+psp(221:330)*(-1.50000000000000000000d0)+ps
$p(771:880)*(-1.50000000000000000000d0)
sp(441:550)=psp(441:550)*2.44948974278317788134d0+psp(661:770)*(-0
$.61237243569579447033d0)+psp(991:1100)*(-0.61237243569579447033d0)
sp(551:660)=psp(221:330)*(-1.93649167310370828865d0)+psp(771:880)*
$1.93649167310370828865d0
sp(661:770)=psp(661:770)*(-2.37170824512628453107d0)+psp(991:1100)
$*0.79056941504209476967d0
do ji=0,6
ki=ji*110
jk=ji*11
do ii=0,9
k=ii*11
il=ii*77
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:77)=psp(232:308)*(-0.79056941504209476967d0)+psp(617:693)*2.3
$7170824512628453107d0
sp(78:154)=psp(386:462)*3.87298334620741657730d0
sp(155:231)=psp(78:154)*2.44948974278317788134d0+psp(232:308)*(-0.
$61237243569579447033d0)+psp(617:693)*(-0.61237243569579447033d0)
sp(232:308)=psp(1:77)+psp(155:231)*(-1.50000000000000000000d0)+psp
$(540:616)*(-1.50000000000000000000d0)
sp(309:385)=psp(309:385)*2.44948974278317788134d0+psp(463:539)*(-0
$.61237243569579447033d0)+psp(694:770)*(-0.61237243569579447033d0)
sp(386:462)=psp(155:231)*(-1.93649167310370828865d0)+psp(540:616)*
$1.93649167310370828865d0
sp(463:539)=psp(463:539)*(-2.37170824512628453107d0)+psp(694:770)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_ffi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1300),psp(2072)
real*8 fpi(390),gpi(585),hpi(819),fdi(780),gdi(1170),xab,yab,zab
sp(1:74)=psp(889:962)*4.03015973628837986809d0+psp(1555:1628)*(-13
$.43386578762789973496d0)+psp(1925:1998)*4.03015973628837986809d0
sp(75:148)=psp(371:444)*2.32681380862329012515d0+psp(1185:1258)*(-
$23.26813808623289858701d0)+psp(1703:1776)*11.63406904311639955552d
$0
sp(149:222)=psp(741:814)*(-19.84313483298440061731d0)+psp(889:962)
$*1.98431348329843992850d0+psp(1407:1480)*19.84313483298440061731d0
$+psp(1925:1998)*(-1.98431348329843992850d0)
sp(223:296)=psp(223:296)*(-7.24568837309471991404d0)+psp(371:444)*
$2.71713313991052007879d0+psp(1037:1110)*21.73706511928419971014d0+
$psp(1185:1258)*(-5.43426627982104015757d0)+psp(1703:1776)*(-8.1513
$9941973155934818d0)
sp(297:370)=psp(593:666)*14.49137674618940074822d0+psp(741:814)*(-
$14.49137674618940074822d0)+psp(889:962)*0.90571104663683998925d0+p
$sp(1407:1480)*(-14.49137674618940074822d0)+psp(1555:1628)*1.811422
$09327367997851d0+psp(1925:1998)*0.90571104663683998925d0
sp(371:444)=psp(75:148)*4.58257569495583982899d0+psp(223:296)*(-11
$.45643923738959912839d0)+psp(371:444)*2.86410980934739978210d0+psp
$(1037:1110)*(-11.45643923738959912839d0)+psp(1185:1258)*5.72821961
$869479956420d0+psp(1703:1776)*2.86410980934739978210d0
sp(445:518)=psp(1:74)+psp(149:222)*(-7.50000000000000000000d0)+psp
$(297:370)*5.62500000000000000000d0+psp(445:518)*(-0.31250000000000
$000000d0)+psp(963:1036)*(-7.50000000000000000000d0)+psp(1111:1184)
$*11.25000000000000000000d0+psp(1259:1332)*(-0.93750000000000000000
$d0)+psp(1629:1702)*5.62500000000000000000d0+psp(1777:1850)*(-0.937
$50000000000000000d0)+psp(1999:2072)*(-0.31250000000000000000d0)
sp(519:592)=psp(519:592)*4.58257569495583982899d0+psp(667:740)*(-1
$1.45643923738959912839d0)+psp(815:888)*2.86410980934739978210d0+ps
$p(1333:1406)*(-11.45643923738959912839d0)+psp(1481:1554)*5.7282196
$1869479956420d0+psp(1851:1924)*2.86410980934739978210d0
sp(593:666)=psp(149:222)*(-7.24568837309471991404d0)+psp(297:370)*
$7.24568837309471991404d0+psp(445:518)*(-0.45285552331841999463d0)+
$psp(963:1036)*7.24568837309471991404d0+psp(1259:1332)*(-0.45285552
$331841999463d0)+psp(1629:1702)*(-7.24568837309471991404d0)+psp(177
$7:1850)*0.45285552331841999463d0+psp(1999:2072)*0.4528555233184199
$9463d0
sp(667:740)=psp(667:740)*(-21.73706511928419971014d0)+psp(815:888)
$*8.15139941973155934818d0+psp(1333:1406)*7.24568837309471991404d0+
$psp(1481:1554)*5.43426627982104015757d0+psp(1851:1924)*(-2.7171331
$3991052007879d0)
sp(741:814)=psp(297:370)*4.96078370824610992429d0+psp(445:518)*(-0
$.49607837082461098133d0)+psp(1111:1184)*(-29.76470224947659914960d
$0)+psp(1259:1332)*2.48039185412305007716d0+psp(1629:1702)*4.960783
$70824610992429d0+psp(1777:1850)*2.48039185412305007716d0+psp(1999:
$2072)*(-0.49607837082461098133d0)
sp(815:888)=psp(815:888)*11.63406904311639955552d0+psp(1481:1554)*
$(-23.26813808623289858701d0)+psp(1851:1924)*2.32681380862329012515
$d0
sp(889:962)=psp(445:518)*(-0.67169328938139605256d0)+psp(1259:1332
$)*10.07539934072089948813d0+psp(1777:1850)*(-10.075399340720899488
$13d0)+psp(1999:2072)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*74
do ki=1,74
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
fpi(1:52)=psp(131:182)+zab*psp(1:52)
fpi(53:91)=psp(196:234)+zab*psp(53:91)
fpi(92:117)=psp(248:273)+zab*psp(92:117)
fpi(118:130)=psp(287:299)+zab*psp(118:130)
fpi(131:182)=psp(144:195)+yab*psp(1:52)
fpi(183:221)=psp(209:247)+yab*psp(53:91)
fpi(222:247)=psp(261:286)+yab*psp(92:117)
fpi(248:260)=psp(300:312)+yab*psp(118:130)
fpi(261:390)=psp(196:325)+xab*psp(1:130)
gpi(1:65)=psp(326:390)+zab*psp(131:195)
gpi(66:117)=psp(404:455)+zab*psp(196:247)
gpi(118:156)=psp(469:507)+zab*psp(248:286)
gpi(157:182)=psp(521:546)+zab*psp(287:312)
gpi(183:195)=psp(560:572)+zab*psp(313:325)
gpi(196:260)=psp(339:403)+yab*psp(131:195)
gpi(261:312)=psp(417:468)+yab*psp(196:247)
gpi(313:351)=psp(482:520)+yab*psp(248:286)
gpi(352:377)=psp(534:559)+yab*psp(287:312)
gpi(378:390)=psp(573:585)+yab*psp(313:325)
gpi(391:585)=psp(404:598)+xab*psp(131:325)
hpi(1:78)=psp(599:676)+zab*psp(326:403)
hpi(79:143)=psp(690:754)+zab*psp(404:468)
hpi(144:195)=psp(768:819)+zab*psp(469:520)
hpi(196:234)=psp(833:871)+zab*psp(521:559)
hpi(235:260)=psp(885:910)+zab*psp(560:585)
hpi(261:273)=psp(924:936)+zab*psp(586:598)
hpi(274:351)=psp(612:689)+yab*psp(326:403)
hpi(352:416)=psp(703:767)+yab*psp(404:468)
hpi(417:468)=psp(781:832)+yab*psp(469:520)
hpi(469:507)=psp(846:884)+yab*psp(521:559)
hpi(508:533)=psp(898:923)+yab*psp(560:585)
hpi(534:546)=psp(937:949)+yab*psp(586:598)
hpi(547:819)=psp(690:962)+xab*psp(326:598)
fdi(1:52)=gpi(1:52)+zab*fpi(1:52)
fdi(53:91)=gpi(66:104)+zab*fpi(53:91)
fdi(92:117)=gpi(118:143)+zab*fpi(92:117)
fdi(118:130)=gpi(157:169)+zab*fpi(118:130)
fdi(261:312)=gpi(209:260)+yab*fpi(131:182)
fdi(313:351)=gpi(274:312)+yab*fpi(183:221)
fdi(352:377)=gpi(326:351)+yab*fpi(222:247)
fdi(378:390)=gpi(365:377)+yab*fpi(248:260)
fdi(521:572)=gpi(404:455)+yab*fpi(261:312)
fdi(573:611)=gpi(469:507)+yab*fpi(313:351)
fdi(612:637)=gpi(521:546)+yab*fpi(352:377)
fdi(638:650)=gpi(560:572)+yab*fpi(378:390)
fdi(651:780)=gpi(456:585)+xab*fpi(261:390)
gdi(1:65)=hpi(1:65)+zab*gpi(1:65)
gdi(66:117)=hpi(79:130)+zab*gpi(66:117)
gdi(118:156)=hpi(144:182)+zab*gpi(118:156)
gdi(157:182)=hpi(196:221)+zab*gpi(157:182)
gdi(183:195)=hpi(235:247)+zab*gpi(183:195)
gdi(391:455)=hpi(287:351)+yab*gpi(196:260)
gdi(456:507)=hpi(365:416)+yab*gpi(261:312)
gdi(508:546)=hpi(430:468)+yab*gpi(313:351)
gdi(547:572)=hpi(482:507)+yab*gpi(352:377)
gdi(573:585)=hpi(521:533)+yab*gpi(378:390)
gdi(781:845)=hpi(560:624)+yab*gpi(391:455)
gdi(846:897)=hpi(638:689)+yab*gpi(456:507)
gdi(898:936)=hpi(703:741)+yab*gpi(508:546)
gdi(937:962)=hpi(755:780)+yab*gpi(547:572)
gdi(963:975)=hpi(794:806)+yab*gpi(573:585)
gdi(976:1170)=hpi(625:819)+xab*gpi(391:585)
psp(1:52)=gdi(1:52)+zab*fdi(1:52)
psp(53:91)=gdi(66:104)+zab*fdi(53:91)
psp(92:117)=gdi(118:143)+zab*fdi(92:117)
psp(118:130)=gdi(157:169)+zab*fdi(118:130)
psp(131:182)=gdi(14:65)+yab*fdi(1:52)
psp(183:221)=gdi(79:117)+yab*fdi(53:91)
psp(222:247)=gdi(131:156)+yab*fdi(92:117)
psp(248:260)=gdi(170:182)+yab*fdi(118:130)
psp(261:312)=gdi(391:442)+zab*fdi(261:312)
psp(313:351)=gdi(456:494)+zab*fdi(313:351)
psp(352:377)=gdi(508:533)+zab*fdi(352:377)
psp(378:390)=gdi(547:559)+zab*fdi(378:390)
psp(391:442)=gdi(404:455)+yab*fdi(261:312)
psp(443:481)=gdi(469:507)+yab*fdi(313:351)
psp(482:507)=gdi(521:546)+yab*fdi(352:377)
psp(508:520)=gdi(560:572)+yab*fdi(378:390)
psp(521:650)=gdi(66:195)+xab*fdi(1:130)
psp(651:702)=gdi(781:832)+zab*fdi(521:572)
psp(703:741)=gdi(846:884)+zab*fdi(573:611)
psp(742:767)=gdi(898:923)+zab*fdi(612:637)
psp(768:780)=gdi(937:949)+zab*fdi(638:650)
psp(781:910)=gdi(456:585)+xab*fdi(261:390)
psp(911:962)=gdi(976:1027)+zab*fdi(651:702)
psp(963:1001)=gdi(1041:1079)+zab*fdi(703:741)
psp(1002:1027)=gdi(1093:1118)+zab*fdi(742:767)
psp(1028:1040)=gdi(1132:1144)+zab*fdi(768:780)
psp(1041:1092)=gdi(989:1040)+yab*fdi(651:702)
psp(1093:1131)=gdi(1054:1092)+yab*fdi(703:741)
psp(1132:1157)=gdi(1106:1131)+yab*fdi(742:767)
psp(1158:1170)=gdi(1145:1157)+yab*fdi(768:780)
psp(1171:1300)=gdi(1041:1170)+xab*fdi(651:780)
sp(1:130)=psp(391:520)*(-0.79056941504209476967d0)+psp(1041:1170)*
$2.37170824512628453107d0
sp(131:260)=psp(651:780)*3.87298334620741657730d0
sp(261:390)=psp(131:260)*2.44948974278317788134d0+psp(391:520)*(-0
$.61237243569579447033d0)+psp(1041:1170)*(-0.61237243569579447033d0
$)
sp(391:520)=psp(1:130)+psp(261:390)*(-1.50000000000000000000d0)+ps
$p(911:1040)*(-1.50000000000000000000d0)
sp(521:650)=psp(521:650)*2.44948974278317788134d0+psp(781:910)*(-0
$.61237243569579447033d0)+psp(1171:1300)*(-0.61237243569579447033d0
$)
sp(651:780)=psp(261:390)*(-1.93649167310370828865d0)+psp(911:1040)
$*1.93649167310370828865d0
sp(781:910)=psp(781:910)*(-2.37170824512628453107d0)+psp(1171:1300
$)*0.79056941504209476967d0
do ji=0,6
ki=ji*130
jk=ji*13
do ii=0,9
k=ii*13
il=ii*91
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:91)=psp(274:364)*(-0.79056941504209476967d0)+psp(729:819)*2.3
$7170824512628453107d0
sp(92:182)=psp(456:546)*3.87298334620741657730d0
sp(183:273)=psp(92:182)*2.44948974278317788134d0+psp(274:364)*(-0.
$61237243569579447033d0)+psp(729:819)*(-0.61237243569579447033d0)
sp(274:364)=psp(1:91)+psp(183:273)*(-1.50000000000000000000d0)+psp
$(638:728)*(-1.50000000000000000000d0)
sp(365:455)=psp(365:455)*2.44948974278317788134d0+psp(547:637)*(-0
$.61237243569579447033d0)+psp(820:910)*(-0.61237243569579447033d0)
sp(456:546)=psp(183:273)*(-1.93649167310370828865d0)+psp(638:728)*
$1.93649167310370828865d0
sp(547:637)=psp(547:637)*(-2.37170824512628453107d0)+psp(820:910)*
$0.79056941504209476967d0
return
end
subroutine hrrspher_gss_(psp,sp)
implicit none
real*8 sp(15),psp(15)
sp(1)=psp(9)*(-2.95803989154980806475d0)+psp(14)*2.958039891549808
$06475d0
sp(2)=psp(4)*(-2.09165006633518890666d0)+psp(11)*6.274950199005566
$27590d0
sp(3)=psp(7)*6.70820393249936941515d0+psp(9)*(-1.11803398874989490
$253d0)+psp(14)*(-1.11803398874989490253d0)
sp(4)=psp(2)*3.16227766016837907870d0+psp(4)*(-2.37170824512628453
$107d0)+psp(11)*(-2.37170824512628453107d0)
sp(5)=psp(1)+psp(3)*(-3.00000000000000000000d0)+psp(5)*0.375000000
$00000000000d0+psp(10)*(-3.00000000000000000000d0)+psp(12)*0.750000
$00000000000000d0+psp(15)*0.37500000000000000000d0
sp(6)=psp(6)*3.16227766016837907870d0+psp(8)*(-2.37170824512628453
$107d0)+psp(13)*(-2.37170824512628453107d0)
sp(7)=psp(3)*(-3.35410196624968470758d0)+psp(5)*0.5590169943749474
$5126d0+psp(10)*3.35410196624968470758d0+psp(15)*(-0.55901699437494
$745126d0)
sp(8)=psp(8)*(-6.27495019900556627590d0)+psp(13)*2.091650066335188
$90666d0
sp(9)=psp(5)*0.73950997288745201619d0+psp(12)*(-4.4370598373247123
$1917d0)+psp(15)*0.73950997288745201619d0
return
end
subroutine hrrspher_gsp_(psp,sp)
implicit none
real*8 sp(45),psp(45)
sp(1:3)=psp(25:27)*(-2.95803989154980806475d0)+psp(40:42)*2.958039
$89154980806475d0
sp(4:6)=psp(10:12)*(-2.09165006633518890666d0)+psp(31:33)*6.274950
$19900556627590d0
sp(7:9)=psp(19:21)*6.70820393249936941515d0+psp(25:27)*(-1.1180339
$8874989490253d0)+psp(40:42)*(-1.11803398874989490253d0)
sp(10:12)=psp(4:6)*3.16227766016837907870d0+psp(10:12)*(-2.3717082
$4512628453107d0)+psp(31:33)*(-2.37170824512628453107d0)
sp(13:15)=psp(1:3)+psp(7:9)*(-3.00000000000000000000d0)+psp(13:15)
$*0.37500000000000000000d0+psp(28:30)*(-3.00000000000000000000d0)+p
$sp(34:36)*0.75000000000000000000d0+psp(43:45)*0.375000000000000000
$00d0
sp(16:18)=psp(16:18)*3.16227766016837907870d0+psp(22:24)*(-2.37170
$824512628453107d0)+psp(37:39)*(-2.37170824512628453107d0)
sp(19:21)=psp(7:9)*(-3.35410196624968470758d0)+psp(13:15)*0.559016
$99437494745126d0+psp(28:30)*3.35410196624968470758d0+psp(43:45)*(-
$0.55901699437494745126d0)
sp(22:24)=psp(22:24)*(-6.27495019900556627590d0)+psp(37:39)*2.0916
$5006633518890666d0
sp(25:27)=psp(13:15)*0.73950997288745201619d0+psp(34:36)*(-4.43705
$983732471231917d0)+psp(43:45)*0.73950997288745201619d0
return
end
subroutine hrrspher_gsd_(psp,sp)
implicit none
integer ii,ki
real*8 sp(75),psp(90)
sp(1:15)=psp(61:75)*1.73205080756887697113d0
sp(16:30)=psp(16:30)*1.73205080756887697113d0
sp(31:45)=psp(1:15)+psp(31:45)*(-0.50000000000000000000d0)+psp(76:
$90)*(-0.50000000000000000000d0)
sp(46:60)=psp(46:60)*1.73205080756887697113d0
sp(61:75)=psp(31:45)*(-0.86602540378443848557d0)+psp(76:90)*0.8660
$2540378443848557d0
do ii=1,5
do ki=1,15
psp((ki-1)*5+ii)=sp((ii-1)*15+ki)
enddo
enddo
sp(1:5)=psp(41:45)*(-2.95803989154980806475d0)+psp(66:70)*2.958039
$89154980806475d0
sp(6:10)=psp(16:20)*(-2.09165006633518890666d0)+psp(51:55)*6.27495
$019900556627590d0
sp(11:15)=psp(31:35)*6.70820393249936941515d0+psp(41:45)*(-1.11803
$398874989490253d0)+psp(66:70)*(-1.11803398874989490253d0)
sp(16:20)=psp(6:10)*3.16227766016837907870d0+psp(16:20)*(-2.371708
$24512628453107d0)+psp(51:55)*(-2.37170824512628453107d0)
sp(21:25)=psp(1:5)+psp(11:15)*(-3.00000000000000000000d0)+psp(21:2
$5)*0.37500000000000000000d0+psp(46:50)*(-3.00000000000000000000d0)
$+psp(56:60)*0.75000000000000000000d0+psp(71:75)*0.3750000000000000
$0000d0
sp(26:30)=psp(26:30)*3.16227766016837907870d0+psp(36:40)*(-2.37170
$824512628453107d0)+psp(61:65)*(-2.37170824512628453107d0)
sp(31:35)=psp(11:15)*(-3.35410196624968470758d0)+psp(21:25)*0.5590
$1699437494745126d0+psp(46:50)*3.35410196624968470758d0+psp(71:75)*
$(-0.55901699437494745126d0)
sp(36:40)=psp(36:40)*(-6.27495019900556627590d0)+psp(61:65)*2.0916
$5006633518890666d0
sp(41:45)=psp(21:25)*0.73950997288745201619d0+psp(56:60)*(-4.43705
$983732471231917d0)+psp(71:75)*0.73950997288745201619d0
return
end
subroutine hrrspher_gsf_(psp,sp)
implicit none
integer ii,ki
real*8 sp(105),psp(150)
sp(1:15)=psp(46:60)*(-0.79056941504209476967d0)+psp(121:135)*2.371
$70824512628453107d0
sp(16:30)=psp(76:90)*3.87298334620741657730d0
sp(31:45)=psp(16:30)*2.44948974278317788134d0+psp(46:60)*(-0.61237
$243569579447033d0)+psp(121:135)*(-0.61237243569579447033d0)
sp(46:60)=psp(1:15)+psp(31:45)*(-1.50000000000000000000d0)+psp(106
$:120)*(-1.50000000000000000000d0)
sp(61:75)=psp(61:75)*2.44948974278317788134d0+psp(91:105)*(-0.6123
$7243569579447033d0)+psp(136:150)*(-0.61237243569579447033d0)
sp(76:90)=psp(31:45)*(-1.93649167310370828865d0)+psp(106:120)*1.93
$649167310370828865d0
sp(91:105)=psp(91:105)*(-2.37170824512628453107d0)+psp(136:150)*0.
$79056941504209476967d0
do ii=1,7
do ki=1,15
psp((ki-1)*7+ii)=sp((ii-1)*15+ki)
enddo
enddo
sp(1:7)=psp(57:63)*(-2.95803989154980806475d0)+psp(92:98)*2.958039
$89154980806475d0
sp(8:14)=psp(22:28)*(-2.09165006633518890666d0)+psp(71:77)*6.27495
$019900556627590d0
sp(15:21)=psp(43:49)*6.70820393249936941515d0+psp(57:63)*(-1.11803
$398874989490253d0)+psp(92:98)*(-1.11803398874989490253d0)
sp(22:28)=psp(8:14)*3.16227766016837907870d0+psp(22:28)*(-2.371708
$24512628453107d0)+psp(71:77)*(-2.37170824512628453107d0)
sp(29:35)=psp(1:7)+psp(15:21)*(-3.00000000000000000000d0)+psp(29:3
$5)*0.37500000000000000000d0+psp(64:70)*(-3.00000000000000000000d0)
$+psp(78:84)*0.75000000000000000000d0+psp(99:105)*0.375000000000000
$00000d0
sp(36:42)=psp(36:42)*3.16227766016837907870d0+psp(50:56)*(-2.37170
$824512628453107d0)+psp(85:91)*(-2.37170824512628453107d0)
sp(43:49)=psp(15:21)*(-3.35410196624968470758d0)+psp(29:35)*0.5590
$1699437494745126d0+psp(64:70)*3.35410196624968470758d0+psp(99:105)
$*(-0.55901699437494745126d0)
sp(50:56)=psp(50:56)*(-6.27495019900556627590d0)+psp(85:91)*2.0916
$5006633518890666d0
sp(57:63)=psp(29:35)*0.73950997288745201619d0+psp(78:84)*(-4.43705
$983732471231917d0)+psp(99:105)*0.73950997288745201619d0
return
end
subroutine hrrspher_gsg_(psp,sp)
implicit none
integer ii,ki
real*8 sp(135),psp(225)
sp(1:15)=psp(121:135)*(-2.95803989154980806475d0)+psp(196:210)*2.9
$5803989154980806475d0
sp(16:30)=psp(46:60)*(-2.09165006633518890666d0)+psp(151:165)*6.27
$495019900556627590d0
sp(31:45)=psp(91:105)*6.70820393249936941515d0+psp(121:135)*(-1.11
$803398874989490253d0)+psp(196:210)*(-1.11803398874989490253d0)
sp(46:60)=psp(16:30)*3.16227766016837907870d0+psp(46:60)*(-2.37170
$824512628453107d0)+psp(151:165)*(-2.37170824512628453107d0)
sp(61:75)=psp(1:15)+psp(31:45)*(-3.00000000000000000000d0)+psp(61:
$75)*0.37500000000000000000d0+psp(136:150)*(-3.00000000000000000000
$d0)+psp(166:180)*0.75000000000000000000d0+psp(211:225)*0.375000000
$00000000000d0
sp(76:90)=psp(76:90)*3.16227766016837907870d0+psp(106:120)*(-2.371
$70824512628453107d0)+psp(181:195)*(-2.37170824512628453107d0)
sp(91:105)=psp(31:45)*(-3.35410196624968470758d0)+psp(61:75)*0.559
$01699437494745126d0+psp(136:150)*3.35410196624968470758d0+psp(211:
$225)*(-0.55901699437494745126d0)
sp(106:120)=psp(106:120)*(-6.27495019900556627590d0)+psp(181:195)*
$2.09165006633518890666d0
sp(121:135)=psp(61:75)*0.73950997288745201619d0+psp(166:180)*(-4.4
$3705983732471231917d0)+psp(211:225)*0.73950997288745201619d0
do ii=1,9
do ki=1,15
psp((ki-1)*9+ii)=sp((ii-1)*15+ki)
enddo
enddo
sp(1:9)=psp(73:81)*(-2.95803989154980806475d0)+psp(118:126)*2.9580
$3989154980806475d0
sp(10:18)=psp(28:36)*(-2.09165006633518890666d0)+psp(91:99)*6.2749
$5019900556627590d0
sp(19:27)=psp(55:63)*6.70820393249936941515d0+psp(73:81)*(-1.11803
$398874989490253d0)+psp(118:126)*(-1.11803398874989490253d0)
sp(28:36)=psp(10:18)*3.16227766016837907870d0+psp(28:36)*(-2.37170
$824512628453107d0)+psp(91:99)*(-2.37170824512628453107d0)
sp(37:45)=psp(1:9)+psp(19:27)*(-3.00000000000000000000d0)+psp(37:4
$5)*0.37500000000000000000d0+psp(82:90)*(-3.00000000000000000000d0)
$+psp(100:108)*0.75000000000000000000d0+psp(127:135)*0.375000000000
$00000000d0
sp(46:54)=psp(46:54)*3.16227766016837907870d0+psp(64:72)*(-2.37170
$824512628453107d0)+psp(109:117)*(-2.37170824512628453107d0)
sp(55:63)=psp(19:27)*(-3.35410196624968470758d0)+psp(37:45)*0.5590
$1699437494745126d0+psp(82:90)*3.35410196624968470758d0+psp(127:135
$)*(-0.55901699437494745126d0)
sp(64:72)=psp(64:72)*(-6.27495019900556627590d0)+psp(109:117)*2.09
$165006633518890666d0
sp(73:81)=psp(37:45)*0.73950997288745201619d0+psp(100:108)*(-4.437
$05983732471231917d0)+psp(127:135)*0.73950997288745201619d0
return
end
subroutine hrrspher_gsh_(psp,sp)
implicit none
integer ii,ki
real*8 sp(165),psp(315)
sp(1:15)=psp(76:90)*0.70156076002011391601d0+psp(211:225)*(-7.0156
$0760020113871605d0)+psp(286:300)*3.50780380010056935802d0
sp(16:30)=psp(136:150)*(-8.87411967464942463835d0)+psp(241:255)*8.
$87411967464942463835d0
sp(31:45)=psp(46:60)*(-4.18330013267037692515d0)+psp(76:90)*0.5229
$1251658379711564d0+psp(181:195)*12.54990039801113255180d0+psp(211:
$225)*(-1.04582503316759423129d0)+psp(286:300)*(-1.5687375497513915
$6898d0)
sp(46:60)=psp(106:120)*10.24695076595959974952d0+psp(136:150)*(-5.
$12347538297979987476d0)+psp(241:255)*(-5.12347538297979987476d0)
sp(61:75)=psp(16:30)*3.87298334620741613321d0+psp(46:60)*(-5.80947
$501931112419982d0)+psp(76:90)*0.48412291827592701665d0+psp(181:195
$)*(-5.80947501931112419982d0)+psp(211:225)*0.96824583655185403330d
$0+psp(286:300)*0.48412291827592701665d0
sp(76:90)=psp(1:15)+psp(31:45)*(-5.00000000000000000000d0)+psp(61:
$75)*1.87500000000000000000d0+psp(166:180)*(-5.00000000000000000000
$d0)+psp(196:210)*3.75000000000000000000d0+psp(271:285)*1.875000000
$00000000000d0
sp(91:105)=psp(91:105)*3.87298334620741613321d0+psp(121:135)*(-5.8
$0947501931112419982d0)+psp(151:165)*0.48412291827592701665d0+psp(2
$26:240)*(-5.80947501931112419982d0)+psp(256:270)*0.968245836551854
$03330d0+psp(301:315)*0.48412291827592701665d0
sp(106:120)=psp(31:45)*(-5.12347538297979987476d0)+psp(61:75)*2.56
$173769148989993738d0+psp(166:180)*5.12347538297979987476d0+psp(271
$:285)*(-2.56173769148989993738d0)
sp(121:135)=psp(121:135)*(-12.54990039801113255180d0)+psp(151:165)
$*1.56873754975139156898d0+psp(226:240)*4.18330013267037692515d0+ps
$p(256:270)*1.04582503316759423129d0+psp(301:315)*(-0.5229125165837
$9711564d0)
sp(136:150)=psp(61:75)*2.21852991866235615959d0+psp(196:210)*(-13.
$31117951197413695752d0)+psp(271:285)*2.21852991866235615959d0
sp(151:165)=psp(151:165)*3.50780380010056935802d0+psp(256:270)*(-7
$.01560760020113871605d0)+psp(301:315)*0.70156076002011391601d0
do ii=1,11
do ki=1,15
psp((ki-1)*11+ii)=sp((ii-1)*15+ki)
enddo
enddo
sp(1:11)=psp(89:99)*(-2.95803989154980806475d0)+psp(144:154)*2.958
$03989154980806475d0
sp(12:22)=psp(34:44)*(-2.09165006633518890666d0)+psp(111:121)*6.27
$495019900556627590d0
sp(23:33)=psp(67:77)*6.70820393249936941515d0+psp(89:99)*(-1.11803
$398874989490253d0)+psp(144:154)*(-1.11803398874989490253d0)
sp(34:44)=psp(12:22)*3.16227766016837907870d0+psp(34:44)*(-2.37170
$824512628453107d0)+psp(111:121)*(-2.37170824512628453107d0)
sp(45:55)=psp(1:11)+psp(23:33)*(-3.00000000000000000000d0)+psp(45:
$55)*0.37500000000000000000d0+psp(100:110)*(-3.00000000000000000000
$d0)+psp(122:132)*0.75000000000000000000d0+psp(155:165)*0.375000000
$00000000000d0
sp(56:66)=psp(56:66)*3.16227766016837907870d0+psp(78:88)*(-2.37170
$824512628453107d0)+psp(133:143)*(-2.37170824512628453107d0)
sp(67:77)=psp(23:33)*(-3.35410196624968470758d0)+psp(45:55)*0.5590
$1699437494745126d0+psp(100:110)*3.35410196624968470758d0+psp(155:1
$65)*(-0.55901699437494745126d0)
sp(78:88)=psp(78:88)*(-6.27495019900556627590d0)+psp(133:143)*2.09
$165006633518890666d0
sp(89:99)=psp(45:55)*0.73950997288745201619d0+psp(122:132)*(-4.437
$05983732471231917d0)+psp(155:165)*0.73950997288745201619d0
return
end
subroutine hrrspher_gsi_(psp,sp)
implicit none
integer ii,ki
real*8 sp(195),psp(420)
sp(1:15)=psp(181:195)*4.03015973628837986809d0+psp(316:330)*(-13.4
$3386578762789973496d0)+psp(391:405)*4.03015973628837986809d0
sp(16:30)=psp(76:90)*2.32681380862329012515d0+psp(241:255)*(-23.26
$813808623289858701d0)+psp(346:360)*11.63406904311639955552d0
sp(31:45)=psp(151:165)*(-19.84313483298440061731d0)+psp(181:195)*1
$.98431348329843992850d0+psp(286:300)*19.84313483298440061731d0+psp
$(391:405)*(-1.98431348329843992850d0)
sp(46:60)=psp(46:60)*(-7.24568837309471991404d0)+psp(76:90)*2.7171
$3313991052007879d0+psp(211:225)*21.73706511928419971014d0+psp(241:
$255)*(-5.43426627982104015757d0)+psp(346:360)*(-8.1513994197315593
$4818d0)
sp(61:75)=psp(121:135)*14.49137674618940074822d0+psp(151:165)*(-14
$.49137674618940074822d0)+psp(181:195)*0.90571104663683998925d0+psp
$(286:300)*(-14.49137674618940074822d0)+psp(316:330)*1.811422093273
$67997851d0+psp(391:405)*0.90571104663683998925d0
sp(76:90)=psp(16:30)*4.58257569495583982899d0+psp(46:60)*(-11.4564
$3923738959912839d0)+psp(76:90)*2.86410980934739978210d0+psp(211:22
$5)*(-11.45643923738959912839d0)+psp(241:255)*5.7282196186947995642
$0d0+psp(346:360)*2.86410980934739978210d0
sp(91:105)=psp(1:15)+psp(31:45)*(-7.50000000000000000000d0)+psp(61
$:75)*5.62500000000000000000d0+psp(91:105)*(-0.31250000000000000000
$d0)+psp(196:210)*(-7.50000000000000000000d0)+psp(226:240)*11.25000
$000000000000000d0+psp(256:270)*(-0.93750000000000000000d0)+psp(331
$:345)*5.62500000000000000000d0+psp(361:375)*(-0.937500000000000000
$00d0)+psp(406:420)*(-0.31250000000000000000d0)
sp(106:120)=psp(106:120)*4.58257569495583982899d0+psp(136:150)*(-1
$1.45643923738959912839d0)+psp(166:180)*2.86410980934739978210d0+ps
$p(271:285)*(-11.45643923738959912839d0)+psp(301:315)*5.72821961869
$479956420d0+psp(376:390)*2.86410980934739978210d0
sp(121:135)=psp(31:45)*(-7.24568837309471991404d0)+psp(61:75)*7.24
$568837309471991404d0+psp(91:105)*(-0.45285552331841999463d0)+psp(1
$96:210)*7.24568837309471991404d0+psp(256:270)*(-0.4528555233184199
$9463d0)+psp(331:345)*(-7.24568837309471991404d0)+psp(361:375)*0.45
$285552331841999463d0+psp(406:420)*0.45285552331841999463d0
sp(136:150)=psp(136:150)*(-21.73706511928419971014d0)+psp(166:180)
$*8.15139941973155934818d0+psp(271:285)*7.24568837309471991404d0+ps
$p(301:315)*5.43426627982104015757d0+psp(376:390)*(-2.7171331399105
$2007879d0)
sp(151:165)=psp(61:75)*4.96078370824610992429d0+psp(91:105)*(-0.49
$607837082461098133d0)+psp(226:240)*(-29.76470224947659914960d0)+ps
$p(256:270)*2.48039185412305007716d0+psp(331:345)*4.960783708246109
$92429d0+psp(361:375)*2.48039185412305007716d0+psp(406:420)*(-0.496
$07837082461098133d0)
sp(166:180)=psp(166:180)*11.63406904311639955552d0+psp(301:315)*(-
$23.26813808623289858701d0)+psp(376:390)*2.32681380862329012515d0
sp(181:195)=psp(91:105)*(-0.67169328938139605256d0)+psp(256:270)*1
$0.07539934072089948813d0+psp(361:375)*(-10.07539934072089948813d0)
$+psp(406:420)*0.67169328938139605256d0
do ii=1,13
do ki=1,15
psp((ki-1)*13+ii)=sp((ii-1)*15+ki)
enddo
enddo
sp(1:13)=psp(105:117)*(-2.95803989154980806475d0)+psp(170:182)*2.9
$5803989154980806475d0
sp(14:26)=psp(40:52)*(-2.09165006633518890666d0)+psp(131:143)*6.27
$495019900556627590d0
sp(27:39)=psp(79:91)*6.70820393249936941515d0+psp(105:117)*(-1.118
$03398874989490253d0)+psp(170:182)*(-1.11803398874989490253d0)
sp(40:52)=psp(14:26)*3.16227766016837907870d0+psp(40:52)*(-2.37170
$824512628453107d0)+psp(131:143)*(-2.37170824512628453107d0)
sp(53:65)=psp(1:13)+psp(27:39)*(-3.00000000000000000000d0)+psp(53:
$65)*0.37500000000000000000d0+psp(118:130)*(-3.00000000000000000000
$d0)+psp(144:156)*0.75000000000000000000d0+psp(183:195)*0.375000000
$00000000000d0
sp(66:78)=psp(66:78)*3.16227766016837907870d0+psp(92:104)*(-2.3717
$0824512628453107d0)+psp(157:169)*(-2.37170824512628453107d0)
sp(79:91)=psp(27:39)*(-3.35410196624968470758d0)+psp(53:65)*0.5590
$1699437494745126d0+psp(118:130)*3.35410196624968470758d0+psp(183:1
$95)*(-0.55901699437494745126d0)
sp(92:104)=psp(92:104)*(-6.27495019900556627590d0)+psp(157:169)*2.
$09165006633518890666d0
sp(105:117)=psp(53:65)*0.73950997288745201619d0+psp(144:156)*(-4.4
$3705983732471231917d0)+psp(183:195)*0.73950997288745201619d0
return
end
subroutine hrrspher_gps_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(45),psp(36)
real*8 psp2(45)
real*8 xab,yab,zab
psp2(1)=psp(16)+zab*psp(1)
psp2(2)=psp(17)+yab*psp(1)
psp2(3)=psp(22)+xab*psp(1)
psp2(4)=psp(17)+zab*psp(2)
psp2(5)=psp(18)+yab*psp(2)
psp2(6)=psp(23)+xab*psp(2)
psp2(7)=psp(18)+zab*psp(3)
psp2(8)=psp(19)+yab*psp(3)
psp2(9)=psp(24)+xab*psp(3)
psp2(10)=psp(19)+zab*psp(4)
psp2(11)=psp(20)+yab*psp(4)
psp2(12)=psp(25)+xab*psp(4)
psp2(13)=psp(20)+zab*psp(5)
psp2(14)=psp(21)+yab*psp(5)
psp2(15)=psp(26)+xab*psp(5)
psp2(16)=psp(22)+zab*psp(6)
psp2(17)=psp(23)+yab*psp(6)
psp2(18)=psp(27)+xab*psp(6)
psp2(19)=psp(23)+zab*psp(7)
psp2(20)=psp(24)+yab*psp(7)
psp2(21)=psp(28)+xab*psp(7)
psp2(22)=psp(24)+zab*psp(8)
psp2(23)=psp(25)+yab*psp(8)
psp2(24)=psp(29)+xab*psp(8)
psp2(25)=psp(25)+zab*psp(9)
psp2(26)=psp(26)+yab*psp(9)
psp2(27)=psp(30)+xab*psp(9)
psp2(28)=psp(27)+zab*psp(10)
psp2(29)=psp(28)+yab*psp(10)
psp2(30)=psp(31)+xab*psp(10)
psp2(31)=psp(28)+zab*psp(11)
psp2(32)=psp(29)+yab*psp(11)
psp2(33)=psp(32)+xab*psp(11)
psp2(34)=psp(29)+zab*psp(12)
psp2(35)=psp(30)+yab*psp(12)
psp2(36)=psp(33)+xab*psp(12)
psp2(37)=psp(31)+zab*psp(13)
psp2(38)=psp(32)+yab*psp(13)
psp2(39)=psp(34)+xab*psp(13)
psp2(40)=psp(32)+zab*psp(14)
psp2(41)=psp(33)+yab*psp(14)
psp2(42)=psp(35)+xab*psp(14)
psp2(43)=psp(34)+zab*psp(15)
psp2(44)=psp(35)+yab*psp(15)
psp2(45)=psp(36)+xab*psp(15)
sp(1:3)=psp2(25:27)*(-2.95803989154980806475d0)+psp2(40:42)*2.9580
$3989154980806475d0
sp(4:6)=psp2(10:12)*(-2.09165006633518890666d0)+psp2(31:33)*6.2749
$5019900556627590d0
sp(7:9)=psp2(19:21)*6.70820393249936941515d0+psp2(25:27)*(-1.11803
$398874989490253d0)+psp2(40:42)*(-1.11803398874989490253d0)
sp(10:12)=psp2(4:6)*3.16227766016837907870d0+psp2(10:12)*(-2.37170
$824512628453107d0)+psp2(31:33)*(-2.37170824512628453107d0)
sp(13:15)=psp2(1:3)+psp2(7:9)*(-3.00000000000000000000d0)+psp2(13:
$15)*0.37500000000000000000d0+psp2(28:30)*(-3.00000000000000000000d
$0)+psp2(34:36)*0.75000000000000000000d0+psp2(43:45)*0.375000000000
$00000000d0
sp(16:18)=psp2(16:18)*3.16227766016837907870d0+psp2(22:24)*(-2.371
$70824512628453107d0)+psp2(37:39)*(-2.37170824512628453107d0)
sp(19:21)=psp2(7:9)*(-3.35410196624968470758d0)+psp2(13:15)*0.5590
$1699437494745126d0+psp2(28:30)*3.35410196624968470758d0+psp2(43:45
$)*(-0.55901699437494745126d0)
sp(22:24)=psp2(22:24)*(-6.27495019900556627590d0)+psp2(37:39)*2.09
$165006633518890666d0
sp(25:27)=psp2(13:15)*0.73950997288745201619d0+psp2(34:36)*(-4.437
$05983732471231917d0)+psp2(43:45)*0.73950997288745201619d0
return
end
subroutine hrrspher_gpp_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(135),psp(108)
real*8 psp2(135)
real*8 xab,yab,zab
psp2(1:3)=psp(46:48)+zab*psp(1:3)
psp2(4:6)=psp(49:51)+yab*psp(1:3)
psp2(7:9)=psp(64:66)+xab*psp(1:3)
psp2(10:12)=psp(49:51)+zab*psp(4:6)
psp2(13:15)=psp(52:54)+yab*psp(4:6)
psp2(16:18)=psp(67:69)+xab*psp(4:6)
psp2(19:21)=psp(52:54)+zab*psp(7:9)
psp2(22:24)=psp(55:57)+yab*psp(7:9)
psp2(25:27)=psp(70:72)+xab*psp(7:9)
psp2(28:30)=psp(55:57)+zab*psp(10:12)
psp2(31:33)=psp(58:60)+yab*psp(10:12)
psp2(34:36)=psp(73:75)+xab*psp(10:12)
psp2(37:39)=psp(58:60)+zab*psp(13:15)
psp2(40:42)=psp(61:63)+yab*psp(13:15)
psp2(43:45)=psp(76:78)+xab*psp(13:15)
psp2(46:48)=psp(64:66)+zab*psp(16:18)
psp2(49:51)=psp(67:69)+yab*psp(16:18)
psp2(52:54)=psp(79:81)+xab*psp(16:18)
psp2(55:57)=psp(67:69)+zab*psp(19:21)
psp2(58:60)=psp(70:72)+yab*psp(19:21)
psp2(61:63)=psp(82:84)+xab*psp(19:21)
psp2(64:66)=psp(70:72)+zab*psp(22:24)
psp2(67:69)=psp(73:75)+yab*psp(22:24)
psp2(70:72)=psp(85:87)+xab*psp(22:24)
psp2(73:75)=psp(73:75)+zab*psp(25:27)
psp2(76:78)=psp(76:78)+yab*psp(25:27)
psp2(79:81)=psp(88:90)+xab*psp(25:27)
psp2(82:84)=psp(79:81)+zab*psp(28:30)
psp2(85:87)=psp(82:84)+yab*psp(28:30)
psp2(88:90)=psp(91:93)+xab*psp(28:30)
psp2(91:93)=psp(82:84)+zab*psp(31:33)
psp2(94:96)=psp(85:87)+yab*psp(31:33)
psp2(97:99)=psp(94:96)+xab*psp(31:33)
psp2(100:102)=psp(85:87)+zab*psp(34:36)
psp2(103:105)=psp(88:90)+yab*psp(34:36)
psp2(106:108)=psp(97:99)+xab*psp(34:36)
psp2(109:111)=psp(91:93)+zab*psp(37:39)
psp2(112:114)=psp(94:96)+yab*psp(37:39)
psp2(115:117)=psp(100:102)+xab*psp(37:39)
psp2(118:120)=psp(94:96)+zab*psp(40:42)
psp2(121:123)=psp(97:99)+yab*psp(40:42)
psp2(124:126)=psp(103:105)+xab*psp(40:42)
psp2(127:129)=psp(100:102)+zab*psp(43:45)
psp2(130:132)=psp(103:105)+yab*psp(43:45)
psp2(133:135)=psp(106:108)+xab*psp(43:45)
sp(1:9)=psp2(73:81)*(-2.95803989154980806475d0)+psp2(118:126)*2.95
$803989154980806475d0
sp(10:18)=psp2(28:36)*(-2.09165006633518890666d0)+psp2(91:99)*6.27
$495019900556627590d0
sp(19:27)=psp2(55:63)*6.70820393249936941515d0+psp2(73:81)*(-1.118
$03398874989490253d0)+psp2(118:126)*(-1.11803398874989490253d0)
sp(28:36)=psp2(10:18)*3.16227766016837907870d0+psp2(28:36)*(-2.371
$70824512628453107d0)+psp2(91:99)*(-2.37170824512628453107d0)
sp(37:45)=psp2(1:9)+psp2(19:27)*(-3.00000000000000000000d0)+psp2(3
$7:45)*0.37500000000000000000d0+psp2(82:90)*(-3.0000000000000000000
$0d0)+psp2(100:108)*0.75000000000000000000d0+psp2(127:135)*0.375000
$00000000000000d0
sp(46:54)=psp2(46:54)*3.16227766016837907870d0+psp2(64:72)*(-2.371
$70824512628453107d0)+psp2(109:117)*(-2.37170824512628453107d0)
sp(55:63)=psp2(19:27)*(-3.35410196624968470758d0)+psp2(37:45)*0.55
$901699437494745126d0+psp2(82:90)*3.35410196624968470758d0+psp2(127
$:135)*(-0.55901699437494745126d0)
sp(64:72)=psp2(64:72)*(-6.27495019900556627590d0)+psp2(109:117)*2.
$09165006633518890666d0
sp(73:81)=psp2(37:45)*0.73950997288745201619d0+psp2(100:108)*(-4.4
$3705983732471231917d0)+psp2(127:135)*0.73950997288745201619d0
return
end
subroutine hrrspher_gpd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(225),psp(216)
real*8 psp2(225)
real*8 xab,yab,zab
sp(1:36)=psp(145:180)*1.73205080756887697113d0
sp(37:72)=psp(37:72)*1.73205080756887697113d0
sp(73:108)=psp(1:36)+psp(73:108)*(-0.50000000000000000000d0)+psp(1
$81:216)*(-0.50000000000000000000d0)
sp(109:144)=psp(109:144)*1.73205080756887697113d0
sp(145:180)=psp(73:108)*(-0.86602540378443848557d0)+psp(181:216)*0
$.86602540378443848557d0
do ii=1,5
ji=(ii-1)*36
do ki=1,36
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
psp2(1:5)=psp(76:80)+zab*psp(1:5)
psp2(6:10)=psp(81:85)+yab*psp(1:5)
psp2(11:15)=psp(106:110)+xab*psp(1:5)
psp2(16:20)=psp(81:85)+zab*psp(6:10)
psp2(21:25)=psp(86:90)+yab*psp(6:10)
psp2(26:30)=psp(111:115)+xab*psp(6:10)
psp2(31:35)=psp(86:90)+zab*psp(11:15)
psp2(36:40)=psp(91:95)+yab*psp(11:15)
psp2(41:45)=psp(116:120)+xab*psp(11:15)
psp2(46:50)=psp(91:95)+zab*psp(16:20)
psp2(51:55)=psp(96:100)+yab*psp(16:20)
psp2(56:60)=psp(121:125)+xab*psp(16:20)
psp2(61:65)=psp(96:100)+zab*psp(21:25)
psp2(66:70)=psp(101:105)+yab*psp(21:25)
psp2(71:75)=psp(126:130)+xab*psp(21:25)
psp2(76:80)=psp(106:110)+zab*psp(26:30)
psp2(81:85)=psp(111:115)+yab*psp(26:30)
psp2(86:90)=psp(131:135)+xab*psp(26:30)
psp2(91:95)=psp(111:115)+zab*psp(31:35)
psp2(96:100)=psp(116:120)+yab*psp(31:35)
psp2(101:105)=psp(136:140)+xab*psp(31:35)
psp2(106:110)=psp(116:120)+zab*psp(36:40)
psp2(111:115)=psp(121:125)+yab*psp(36:40)
psp2(116:120)=psp(141:145)+xab*psp(36:40)
psp2(121:125)=psp(121:125)+zab*psp(41:45)
psp2(126:130)=psp(126:130)+yab*psp(41:45)
psp2(131:135)=psp(146:150)+xab*psp(41:45)
psp2(136:140)=psp(131:135)+zab*psp(46:50)
psp2(141:145)=psp(136:140)+yab*psp(46:50)
psp2(146:150)=psp(151:155)+xab*psp(46:50)
psp2(151:155)=psp(136:140)+zab*psp(51:55)
psp2(156:160)=psp(141:145)+yab*psp(51:55)
psp2(161:165)=psp(156:160)+xab*psp(51:55)
psp2(166:170)=psp(141:145)+zab*psp(56:60)
psp2(171:175)=psp(146:150)+yab*psp(56:60)
psp2(176:180)=psp(161:165)+xab*psp(56:60)
psp2(181:185)=psp(151:155)+zab*psp(61:65)
psp2(186:190)=psp(156:160)+yab*psp(61:65)
psp2(191:195)=psp(166:170)+xab*psp(61:65)
psp2(196:200)=psp(156:160)+zab*psp(66:70)
psp2(201:205)=psp(161:165)+yab*psp(66:70)
psp2(206:210)=psp(171:175)+xab*psp(66:70)
psp2(211:215)=psp(166:170)+zab*psp(71:75)
psp2(216:220)=psp(171:175)+yab*psp(71:75)
psp2(221:225)=psp(176:180)+xab*psp(71:75)
sp(1:15)=psp2(121:135)*(-2.95803989154980806475d0)+psp2(196:210)*2
$.95803989154980806475d0
sp(16:30)=psp2(46:60)*(-2.09165006633518890666d0)+psp2(151:165)*6.
$27495019900556627590d0
sp(31:45)=psp2(91:105)*6.70820393249936941515d0+psp2(121:135)*(-1.
$11803398874989490253d0)+psp2(196:210)*(-1.11803398874989490253d0)
sp(46:60)=psp2(16:30)*3.16227766016837907870d0+psp2(46:60)*(-2.371
$70824512628453107d0)+psp2(151:165)*(-2.37170824512628453107d0)
sp(61:75)=psp2(1:15)+psp2(31:45)*(-3.00000000000000000000d0)+psp2(
$61:75)*0.37500000000000000000d0+psp2(136:150)*(-3.0000000000000000
$0000d0)+psp2(166:180)*0.75000000000000000000d0+psp2(211:225)*0.375
$00000000000000000d0
sp(76:90)=psp2(76:90)*3.16227766016837907870d0+psp2(106:120)*(-2.3
$7170824512628453107d0)+psp2(181:195)*(-2.37170824512628453107d0)
sp(91:105)=psp2(31:45)*(-3.35410196624968470758d0)+psp2(61:75)*0.5
$5901699437494745126d0+psp2(136:150)*3.35410196624968470758d0+psp2(
$211:225)*(-0.55901699437494745126d0)
sp(106:120)=psp2(106:120)*(-6.27495019900556627590d0)+psp2(181:195
$)*2.09165006633518890666d0
sp(121:135)=psp2(61:75)*0.73950997288745201619d0+psp2(166:180)*(-4
$.43705983732471231917d0)+psp2(211:225)*0.73950997288745201619d0
return
end
subroutine hrrspher_gpf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(315),psp(360)
real*8 psp2(315)
real*8 xab,yab,zab
sp(1:36)=psp(109:144)*(-0.79056941504209476967d0)+psp(289:324)*2.3
$7170824512628453107d0
sp(37:72)=psp(181:216)*3.87298334620741657730d0
sp(73:108)=psp(37:72)*2.44948974278317788134d0+psp(109:144)*(-0.61
$237243569579447033d0)+psp(289:324)*(-0.61237243569579447033d0)
sp(109:144)=psp(1:36)+psp(73:108)*(-1.50000000000000000000d0)+psp(
$253:288)*(-1.50000000000000000000d0)
sp(145:180)=psp(145:180)*2.44948974278317788134d0+psp(217:252)*(-0
$.61237243569579447033d0)+psp(325:360)*(-0.61237243569579447033d0)
sp(181:216)=psp(73:108)*(-1.93649167310370828865d0)+psp(253:288)*1
$.93649167310370828865d0
sp(217:252)=psp(217:252)*(-2.37170824512628453107d0)+psp(325:360)*
$0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*36
do ki=1,36
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
psp2(1:7)=psp(106:112)+zab*psp(1:7)
psp2(8:14)=psp(113:119)+yab*psp(1:7)
psp2(15:21)=psp(148:154)+xab*psp(1:7)
psp2(22:28)=psp(113:119)+zab*psp(8:14)
psp2(29:35)=psp(120:126)+yab*psp(8:14)
psp2(36:42)=psp(155:161)+xab*psp(8:14)
psp2(43:49)=psp(120:126)+zab*psp(15:21)
psp2(50:56)=psp(127:133)+yab*psp(15:21)
psp2(57:63)=psp(162:168)+xab*psp(15:21)
psp2(64:70)=psp(127:133)+zab*psp(22:28)
psp2(71:77)=psp(134:140)+yab*psp(22:28)
psp2(78:84)=psp(169:175)+xab*psp(22:28)
psp2(85:91)=psp(134:140)+zab*psp(29:35)
psp2(92:98)=psp(141:147)+yab*psp(29:35)
psp2(99:105)=psp(176:182)+xab*psp(29:35)
psp2(106:112)=psp(148:154)+zab*psp(36:42)
psp2(113:119)=psp(155:161)+yab*psp(36:42)
psp2(120:126)=psp(183:189)+xab*psp(36:42)
psp2(127:133)=psp(155:161)+zab*psp(43:49)
psp2(134:140)=psp(162:168)+yab*psp(43:49)
psp2(141:147)=psp(190:196)+xab*psp(43:49)
psp2(148:154)=psp(162:168)+zab*psp(50:56)
psp2(155:161)=psp(169:175)+yab*psp(50:56)
psp2(162:168)=psp(197:203)+xab*psp(50:56)
psp2(169:175)=psp(169:175)+zab*psp(57:63)
psp2(176:182)=psp(176:182)+yab*psp(57:63)
psp2(183:189)=psp(204:210)+xab*psp(57:63)
psp2(190:196)=psp(183:189)+zab*psp(64:70)
psp2(197:203)=psp(190:196)+yab*psp(64:70)
psp2(204:210)=psp(211:217)+xab*psp(64:70)
psp2(211:217)=psp(190:196)+zab*psp(71:77)
psp2(218:224)=psp(197:203)+yab*psp(71:77)
psp2(225:231)=psp(218:224)+xab*psp(71:77)
psp2(232:238)=psp(197:203)+zab*psp(78:84)
psp2(239:245)=psp(204:210)+yab*psp(78:84)
psp2(246:252)=psp(225:231)+xab*psp(78:84)
psp2(253:259)=psp(211:217)+zab*psp(85:91)
psp2(260:266)=psp(218:224)+yab*psp(85:91)
psp2(267:273)=psp(232:238)+xab*psp(85:91)
psp2(274:280)=psp(218:224)+zab*psp(92:98)
psp2(281:287)=psp(225:231)+yab*psp(92:98)
psp2(288:294)=psp(239:245)+xab*psp(92:98)
psp2(295:301)=psp(232:238)+zab*psp(99:105)
psp2(302:308)=psp(239:245)+yab*psp(99:105)
psp2(309:315)=psp(246:252)+xab*psp(99:105)
sp(1:21)=psp2(169:189)*(-2.95803989154980806475d0)+psp2(274:294)*2
$.95803989154980806475d0
sp(22:42)=psp2(64:84)*(-2.09165006633518890666d0)+psp2(211:231)*6.
$27495019900556627590d0
sp(43:63)=psp2(127:147)*6.70820393249936941515d0+psp2(169:189)*(-1
$.11803398874989490253d0)+psp2(274:294)*(-1.11803398874989490253d0)
sp(64:84)=psp2(22:42)*3.16227766016837907870d0+psp2(64:84)*(-2.371
$70824512628453107d0)+psp2(211:231)*(-2.37170824512628453107d0)
sp(85:105)=psp2(1:21)+psp2(43:63)*(-3.00000000000000000000d0)+psp2
$(85:105)*0.37500000000000000000d0+psp2(190:210)*(-3.00000000000000
$000000d0)+psp2(232:252)*0.75000000000000000000d0+psp2(295:315)*0.3
$7500000000000000000d0
sp(106:126)=psp2(106:126)*3.16227766016837907870d0+psp2(148:168)*(
$-2.37170824512628453107d0)+psp2(253:273)*(-2.37170824512628453107d
$0)
sp(127:147)=psp2(43:63)*(-3.35410196624968470758d0)+psp2(85:105)*0
$.55901699437494745126d0+psp2(190:210)*3.35410196624968470758d0+psp
$2(295:315)*(-0.55901699437494745126d0)
sp(148:168)=psp2(148:168)*(-6.27495019900556627590d0)+psp2(253:273
$)*2.09165006633518890666d0
sp(169:189)=psp2(85:105)*0.73950997288745201619d0+psp2(232:252)*(-
$4.43705983732471231917d0)+psp2(295:315)*0.73950997288745201619d0
return
end
subroutine hrrspher_gpg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(405),psp(540)
real*8 psp2(405)
real*8 xab,yab,zab
sp(1:36)=psp(289:324)*(-2.95803989154980806475d0)+psp(469:504)*2.9
$5803989154980806475d0
sp(37:72)=psp(109:144)*(-2.09165006633518890666d0)+psp(361:396)*6.
$27495019900556627590d0
sp(73:108)=psp(217:252)*6.70820393249936941515d0+psp(289:324)*(-1.
$11803398874989490253d0)+psp(469:504)*(-1.11803398874989490253d0)
sp(109:144)=psp(37:72)*3.16227766016837907870d0+psp(109:144)*(-2.3
$7170824512628453107d0)+psp(361:396)*(-2.37170824512628453107d0)
sp(145:180)=psp(1:36)+psp(73:108)*(-3.00000000000000000000d0)+psp(
$145:180)*0.37500000000000000000d0+psp(325:360)*(-3.000000000000000
$00000d0)+psp(397:432)*0.75000000000000000000d0+psp(505:540)*0.3750
$0000000000000000d0
sp(181:216)=psp(181:216)*3.16227766016837907870d0+psp(253:288)*(-2
$.37170824512628453107d0)+psp(433:468)*(-2.37170824512628453107d0)
sp(217:252)=psp(73:108)*(-3.35410196624968470758d0)+psp(145:180)*0
$.55901699437494745126d0+psp(325:360)*3.35410196624968470758d0+psp(
$505:540)*(-0.55901699437494745126d0)
sp(253:288)=psp(253:288)*(-6.27495019900556627590d0)+psp(433:468)*
$2.09165006633518890666d0
sp(289:324)=psp(145:180)*0.73950997288745201619d0+psp(397:432)*(-4
$.43705983732471231917d0)+psp(505:540)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*36
do ki=1,36
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
psp2(1:9)=psp(136:144)+zab*psp(1:9)
psp2(10:18)=psp(145:153)+yab*psp(1:9)
psp2(19:27)=psp(190:198)+xab*psp(1:9)
psp2(28:36)=psp(145:153)+zab*psp(10:18)
psp2(37:45)=psp(154:162)+yab*psp(10:18)
psp2(46:54)=psp(199:207)+xab*psp(10:18)
psp2(55:63)=psp(154:162)+zab*psp(19:27)
psp2(64:72)=psp(163:171)+yab*psp(19:27)
psp2(73:81)=psp(208:216)+xab*psp(19:27)
psp2(82:90)=psp(163:171)+zab*psp(28:36)
psp2(91:99)=psp(172:180)+yab*psp(28:36)
psp2(100:108)=psp(217:225)+xab*psp(28:36)
psp2(109:117)=psp(172:180)+zab*psp(37:45)
psp2(118:126)=psp(181:189)+yab*psp(37:45)
psp2(127:135)=psp(226:234)+xab*psp(37:45)
psp2(136:144)=psp(190:198)+zab*psp(46:54)
psp2(145:153)=psp(199:207)+yab*psp(46:54)
psp2(154:162)=psp(235:243)+xab*psp(46:54)
psp2(163:171)=psp(199:207)+zab*psp(55:63)
psp2(172:180)=psp(208:216)+yab*psp(55:63)
psp2(181:189)=psp(244:252)+xab*psp(55:63)
psp2(190:198)=psp(208:216)+zab*psp(64:72)
psp2(199:207)=psp(217:225)+yab*psp(64:72)
psp2(208:216)=psp(253:261)+xab*psp(64:72)
psp2(217:225)=psp(217:225)+zab*psp(73:81)
psp2(226:234)=psp(226:234)+yab*psp(73:81)
psp2(235:243)=psp(262:270)+xab*psp(73:81)
psp2(244:252)=psp(235:243)+zab*psp(82:90)
psp2(253:261)=psp(244:252)+yab*psp(82:90)
psp2(262:270)=psp(271:279)+xab*psp(82:90)
psp2(271:279)=psp(244:252)+zab*psp(91:99)
psp2(280:288)=psp(253:261)+yab*psp(91:99)
psp2(289:297)=psp(280:288)+xab*psp(91:99)
psp2(298:306)=psp(253:261)+zab*psp(100:108)
psp2(307:315)=psp(262:270)+yab*psp(100:108)
psp2(316:324)=psp(289:297)+xab*psp(100:108)
psp2(325:333)=psp(271:279)+zab*psp(109:117)
psp2(334:342)=psp(280:288)+yab*psp(109:117)
psp2(343:351)=psp(298:306)+xab*psp(109:117)
psp2(352:360)=psp(280:288)+zab*psp(118:126)
psp2(361:369)=psp(289:297)+yab*psp(118:126)
psp2(370:378)=psp(307:315)+xab*psp(118:126)
psp2(379:387)=psp(298:306)+zab*psp(127:135)
psp2(388:396)=psp(307:315)+yab*psp(127:135)
psp2(397:405)=psp(316:324)+xab*psp(127:135)
sp(1:27)=psp2(217:243)*(-2.95803989154980806475d0)+psp2(352:378)*2
$.95803989154980806475d0
sp(28:54)=psp2(82:108)*(-2.09165006633518890666d0)+psp2(271:297)*6
$.27495019900556627590d0
sp(55:81)=psp2(163:189)*6.70820393249936941515d0+psp2(217:243)*(-1
$.11803398874989490253d0)+psp2(352:378)*(-1.11803398874989490253d0)
sp(82:108)=psp2(28:54)*3.16227766016837907870d0+psp2(82:108)*(-2.3
$7170824512628453107d0)+psp2(271:297)*(-2.37170824512628453107d0)
sp(109:135)=psp2(1:27)+psp2(55:81)*(-3.00000000000000000000d0)+psp
$2(109:135)*0.37500000000000000000d0+psp2(244:270)*(-3.000000000000
$00000000d0)+psp2(298:324)*0.75000000000000000000d0+psp2(379:405)*0
$.37500000000000000000d0
sp(136:162)=psp2(136:162)*3.16227766016837907870d0+psp2(190:216)*(
$-2.37170824512628453107d0)+psp2(325:351)*(-2.37170824512628453107d
$0)
sp(163:189)=psp2(55:81)*(-3.35410196624968470758d0)+psp2(109:135)*
$0.55901699437494745126d0+psp2(244:270)*3.35410196624968470758d0+ps
$p2(379:405)*(-0.55901699437494745126d0)
sp(190:216)=psp2(190:216)*(-6.27495019900556627590d0)+psp2(325:351
$)*2.09165006633518890666d0
sp(217:243)=psp2(109:135)*0.73950997288745201619d0+psp2(298:324)*(
$-4.43705983732471231917d0)+psp2(379:405)*0.73950997288745201619d0
return
end
subroutine hrrspher_gph_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(495),psp(756)
real*8 psp2(495)
real*8 xab,yab,zab
sp(1:36)=psp(181:216)*0.70156076002011391601d0+psp(505:540)*(-7.01
$560760020113871605d0)+psp(685:720)*3.50780380010056935802d0
sp(37:72)=psp(325:360)*(-8.87411967464942463835d0)+psp(577:612)*8.
$87411967464942463835d0
sp(73:108)=psp(109:144)*(-4.18330013267037692515d0)+psp(181:216)*0
$.52291251658379711564d0+psp(433:468)*12.54990039801113255180d0+psp
$(505:540)*(-1.04582503316759423129d0)+psp(685:720)*(-1.56873754975
$139156898d0)
sp(109:144)=psp(253:288)*10.24695076595959974952d0+psp(325:360)*(-
$5.12347538297979987476d0)+psp(577:612)*(-5.12347538297979987476d0)
sp(145:180)=psp(37:72)*3.87298334620741613321d0+psp(109:144)*(-5.8
$0947501931112419982d0)+psp(181:216)*0.48412291827592701665d0+psp(4
$33:468)*(-5.80947501931112419982d0)+psp(505:540)*0.968245836551854
$03330d0+psp(685:720)*0.48412291827592701665d0
sp(181:216)=psp(1:36)+psp(73:108)*(-5.00000000000000000000d0)+psp(
$145:180)*1.87500000000000000000d0+psp(397:432)*(-5.000000000000000
$00000d0)+psp(469:504)*3.75000000000000000000d0+psp(649:684)*1.8750
$0000000000000000d0
sp(217:252)=psp(217:252)*3.87298334620741613321d0+psp(289:324)*(-5
$.80947501931112419982d0)+psp(361:396)*0.48412291827592701665d0+psp
$(541:576)*(-5.80947501931112419982d0)+psp(613:648)*0.9682458365518
$5403330d0+psp(721:756)*0.48412291827592701665d0
sp(253:288)=psp(73:108)*(-5.12347538297979987476d0)+psp(145:180)*2
$.56173769148989993738d0+psp(397:432)*5.12347538297979987476d0+psp(
$649:684)*(-2.56173769148989993738d0)
sp(289:324)=psp(289:324)*(-12.54990039801113255180d0)+psp(361:396)
$*1.56873754975139156898d0+psp(541:576)*4.18330013267037692515d0+ps
$p(613:648)*1.04582503316759423129d0+psp(721:756)*(-0.5229125165837
$9711564d0)
sp(325:360)=psp(145:180)*2.21852991866235615959d0+psp(469:504)*(-1
$3.31117951197413695752d0)+psp(649:684)*2.21852991866235615959d0
sp(361:396)=psp(361:396)*3.50780380010056935802d0+psp(613:648)*(-7
$.01560760020113871605d0)+psp(721:756)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*36
do ki=1,36
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
psp2(1:11)=psp(166:176)+zab*psp(1:11)
psp2(12:22)=psp(177:187)+yab*psp(1:11)
psp2(23:33)=psp(232:242)+xab*psp(1:11)
psp2(34:44)=psp(177:187)+zab*psp(12:22)
psp2(45:55)=psp(188:198)+yab*psp(12:22)
psp2(56:66)=psp(243:253)+xab*psp(12:22)
psp2(67:77)=psp(188:198)+zab*psp(23:33)
psp2(78:88)=psp(199:209)+yab*psp(23:33)
psp2(89:99)=psp(254:264)+xab*psp(23:33)
psp2(100:110)=psp(199:209)+zab*psp(34:44)
psp2(111:121)=psp(210:220)+yab*psp(34:44)
psp2(122:132)=psp(265:275)+xab*psp(34:44)
psp2(133:143)=psp(210:220)+zab*psp(45:55)
psp2(144:154)=psp(221:231)+yab*psp(45:55)
psp2(155:165)=psp(276:286)+xab*psp(45:55)
psp2(166:176)=psp(232:242)+zab*psp(56:66)
psp2(177:187)=psp(243:253)+yab*psp(56:66)
psp2(188:198)=psp(287:297)+xab*psp(56:66)
psp2(199:209)=psp(243:253)+zab*psp(67:77)
psp2(210:220)=psp(254:264)+yab*psp(67:77)
psp2(221:231)=psp(298:308)+xab*psp(67:77)
psp2(232:242)=psp(254:264)+zab*psp(78:88)
psp2(243:253)=psp(265:275)+yab*psp(78:88)
psp2(254:264)=psp(309:319)+xab*psp(78:88)
psp2(265:275)=psp(265:275)+zab*psp(89:99)
psp2(276:286)=psp(276:286)+yab*psp(89:99)
psp2(287:297)=psp(320:330)+xab*psp(89:99)
psp2(298:308)=psp(287:297)+zab*psp(100:110)
psp2(309:319)=psp(298:308)+yab*psp(100:110)
psp2(320:330)=psp(331:341)+xab*psp(100:110)
psp2(331:341)=psp(298:308)+zab*psp(111:121)
psp2(342:352)=psp(309:319)+yab*psp(111:121)
psp2(353:363)=psp(342:352)+xab*psp(111:121)
psp2(364:374)=psp(309:319)+zab*psp(122:132)
psp2(375:385)=psp(320:330)+yab*psp(122:132)
psp2(386:396)=psp(353:363)+xab*psp(122:132)
psp2(397:407)=psp(331:341)+zab*psp(133:143)
psp2(408:418)=psp(342:352)+yab*psp(133:143)
psp2(419:429)=psp(364:374)+xab*psp(133:143)
psp2(430:440)=psp(342:352)+zab*psp(144:154)
psp2(441:451)=psp(353:363)+yab*psp(144:154)
psp2(452:462)=psp(375:385)+xab*psp(144:154)
psp2(463:473)=psp(364:374)+zab*psp(155:165)
psp2(474:484)=psp(375:385)+yab*psp(155:165)
psp2(485:495)=psp(386:396)+xab*psp(155:165)
sp(1:33)=psp2(265:297)*(-2.95803989154980806475d0)+psp2(430:462)*2
$.95803989154980806475d0
sp(34:66)=psp2(100:132)*(-2.09165006633518890666d0)+psp2(331:363)*
$6.27495019900556627590d0
sp(67:99)=psp2(199:231)*6.70820393249936941515d0+psp2(265:297)*(-1
$.11803398874989490253d0)+psp2(430:462)*(-1.11803398874989490253d0)
sp(100:132)=psp2(34:66)*3.16227766016837907870d0+psp2(100:132)*(-2
$.37170824512628453107d0)+psp2(331:363)*(-2.37170824512628453107d0)
sp(133:165)=psp2(1:33)+psp2(67:99)*(-3.00000000000000000000d0)+psp
$2(133:165)*0.37500000000000000000d0+psp2(298:330)*(-3.000000000000
$00000000d0)+psp2(364:396)*0.75000000000000000000d0+psp2(463:495)*0
$.37500000000000000000d0
sp(166:198)=psp2(166:198)*3.16227766016837907870d0+psp2(232:264)*(
$-2.37170824512628453107d0)+psp2(397:429)*(-2.37170824512628453107d
$0)
sp(199:231)=psp2(67:99)*(-3.35410196624968470758d0)+psp2(133:165)*
$0.55901699437494745126d0+psp2(298:330)*3.35410196624968470758d0+ps
$p2(463:495)*(-0.55901699437494745126d0)
sp(232:264)=psp2(232:264)*(-6.27495019900556627590d0)+psp2(397:429
$)*2.09165006633518890666d0
sp(265:297)=psp2(133:165)*0.73950997288745201619d0+psp2(364:396)*(
$-4.43705983732471231917d0)+psp2(463:495)*0.73950997288745201619d0
return
end
subroutine hrrspher_gpi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(585),psp(1008)
real*8 psp2(585)
real*8 xab,yab,zab
sp(1:36)=psp(433:468)*4.03015973628837986809d0+psp(757:792)*(-13.4
$3386578762789973496d0)+psp(937:972)*4.03015973628837986809d0
sp(37:72)=psp(181:216)*2.32681380862329012515d0+psp(577:612)*(-23.
$26813808623289858701d0)+psp(829:864)*11.63406904311639955552d0
sp(73:108)=psp(361:396)*(-19.84313483298440061731d0)+psp(433:468)*
$1.98431348329843992850d0+psp(685:720)*19.84313483298440061731d0+ps
$p(937:972)*(-1.98431348329843992850d0)
sp(109:144)=psp(109:144)*(-7.24568837309471991404d0)+psp(181:216)*
$2.71713313991052007879d0+psp(505:540)*21.73706511928419971014d0+ps
$p(577:612)*(-5.43426627982104015757d0)+psp(829:864)*(-8.1513994197
$3155934818d0)
sp(145:180)=psp(289:324)*14.49137674618940074822d0+psp(361:396)*(-
$14.49137674618940074822d0)+psp(433:468)*0.90571104663683998925d0+p
$sp(685:720)*(-14.49137674618940074822d0)+psp(757:792)*1.8114220932
$7367997851d0+psp(937:972)*0.90571104663683998925d0
sp(181:216)=psp(37:72)*4.58257569495583982899d0+psp(109:144)*(-11.
$45643923738959912839d0)+psp(181:216)*2.86410980934739978210d0+psp(
$505:540)*(-11.45643923738959912839d0)+psp(577:612)*5.7282196186947
$9956420d0+psp(829:864)*2.86410980934739978210d0
sp(217:252)=psp(1:36)+psp(73:108)*(-7.50000000000000000000d0)+psp(
$145:180)*5.62500000000000000000d0+psp(217:252)*(-0.312500000000000
$00000d0)+psp(469:504)*(-7.50000000000000000000d0)+psp(541:576)*11.
$25000000000000000000d0+psp(613:648)*(-0.93750000000000000000d0)+ps
$p(793:828)*5.62500000000000000000d0+psp(865:900)*(-0.9375000000000
$0000000d0)+psp(973:1008)*(-0.31250000000000000000d0)
sp(253:288)=psp(253:288)*4.58257569495583982899d0+psp(325:360)*(-1
$1.45643923738959912839d0)+psp(397:432)*2.86410980934739978210d0+ps
$p(649:684)*(-11.45643923738959912839d0)+psp(721:756)*5.72821961869
$479956420d0+psp(901:936)*2.86410980934739978210d0
sp(289:324)=psp(73:108)*(-7.24568837309471991404d0)+psp(145:180)*7
$.24568837309471991404d0+psp(217:252)*(-0.45285552331841999463d0)+p
$sp(469:504)*7.24568837309471991404d0+psp(613:648)*(-0.452855523318
$41999463d0)+psp(793:828)*(-7.24568837309471991404d0)+psp(865:900)*
$0.45285552331841999463d0+psp(973:1008)*0.45285552331841999463d0
sp(325:360)=psp(325:360)*(-21.73706511928419971014d0)+psp(397:432)
$*8.15139941973155934818d0+psp(649:684)*7.24568837309471991404d0+ps
$p(721:756)*5.43426627982104015757d0+psp(901:936)*(-2.7171331399105
$2007879d0)
sp(361:396)=psp(145:180)*4.96078370824610992429d0+psp(217:252)*(-0
$.49607837082461098133d0)+psp(541:576)*(-29.76470224947659914960d0)
$+psp(613:648)*2.48039185412305007716d0+psp(793:828)*4.960783708246
$10992429d0+psp(865:900)*2.48039185412305007716d0+psp(973:1008)*(-0
$.49607837082461098133d0)
sp(397:432)=psp(397:432)*11.63406904311639955552d0+psp(721:756)*(-
$23.26813808623289858701d0)+psp(901:936)*2.32681380862329012515d0
sp(433:468)=psp(217:252)*(-0.67169328938139605256d0)+psp(613:648)*
$10.07539934072089948813d0+psp(865:900)*(-10.07539934072089948813d0
$)+psp(973:1008)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*36
do ki=1,36
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
psp2(1:13)=psp(196:208)+zab*psp(1:13)
psp2(14:26)=psp(209:221)+yab*psp(1:13)
psp2(27:39)=psp(274:286)+xab*psp(1:13)
psp2(40:52)=psp(209:221)+zab*psp(14:26)
psp2(53:65)=psp(222:234)+yab*psp(14:26)
psp2(66:78)=psp(287:299)+xab*psp(14:26)
psp2(79:91)=psp(222:234)+zab*psp(27:39)
psp2(92:104)=psp(235:247)+yab*psp(27:39)
psp2(105:117)=psp(300:312)+xab*psp(27:39)
psp2(118:130)=psp(235:247)+zab*psp(40:52)
psp2(131:143)=psp(248:260)+yab*psp(40:52)
psp2(144:156)=psp(313:325)+xab*psp(40:52)
psp2(157:169)=psp(248:260)+zab*psp(53:65)
psp2(170:182)=psp(261:273)+yab*psp(53:65)
psp2(183:195)=psp(326:338)+xab*psp(53:65)
psp2(196:208)=psp(274:286)+zab*psp(66:78)
psp2(209:221)=psp(287:299)+yab*psp(66:78)
psp2(222:234)=psp(339:351)+xab*psp(66:78)
psp2(235:247)=psp(287:299)+zab*psp(79:91)
psp2(248:260)=psp(300:312)+yab*psp(79:91)
psp2(261:273)=psp(352:364)+xab*psp(79:91)
psp2(274:286)=psp(300:312)+zab*psp(92:104)
psp2(287:299)=psp(313:325)+yab*psp(92:104)
psp2(300:312)=psp(365:377)+xab*psp(92:104)
psp2(313:325)=psp(313:325)+zab*psp(105:117)
psp2(326:338)=psp(326:338)+yab*psp(105:117)
psp2(339:351)=psp(378:390)+xab*psp(105:117)
psp2(352:364)=psp(339:351)+zab*psp(118:130)
psp2(365:377)=psp(352:364)+yab*psp(118:130)
psp2(378:390)=psp(391:403)+xab*psp(118:130)
psp2(391:403)=psp(352:364)+zab*psp(131:143)
psp2(404:416)=psp(365:377)+yab*psp(131:143)
psp2(417:429)=psp(404:416)+xab*psp(131:143)
psp2(430:442)=psp(365:377)+zab*psp(144:156)
psp2(443:455)=psp(378:390)+yab*psp(144:156)
psp2(456:468)=psp(417:429)+xab*psp(144:156)
psp2(469:481)=psp(391:403)+zab*psp(157:169)
psp2(482:494)=psp(404:416)+yab*psp(157:169)
psp2(495:507)=psp(430:442)+xab*psp(157:169)
psp2(508:520)=psp(404:416)+zab*psp(170:182)
psp2(521:533)=psp(417:429)+yab*psp(170:182)
psp2(534:546)=psp(443:455)+xab*psp(170:182)
psp2(547:559)=psp(430:442)+zab*psp(183:195)
psp2(560:572)=psp(443:455)+yab*psp(183:195)
psp2(573:585)=psp(456:468)+xab*psp(183:195)
sp(1:39)=psp2(313:351)*(-2.95803989154980806475d0)+psp2(508:546)*2
$.95803989154980806475d0
sp(40:78)=psp2(118:156)*(-2.09165006633518890666d0)+psp2(391:429)*
$6.27495019900556627590d0
sp(79:117)=psp2(235:273)*6.70820393249936941515d0+psp2(313:351)*(-
$1.11803398874989490253d0)+psp2(508:546)*(-1.11803398874989490253d0
$)
sp(118:156)=psp2(40:78)*3.16227766016837907870d0+psp2(118:156)*(-2
$.37170824512628453107d0)+psp2(391:429)*(-2.37170824512628453107d0)
sp(157:195)=psp2(1:39)+psp2(79:117)*(-3.00000000000000000000d0)+ps
$p2(157:195)*0.37500000000000000000d0+psp2(352:390)*(-3.00000000000
$000000000d0)+psp2(430:468)*0.75000000000000000000d0+psp2(547:585)*
$0.37500000000000000000d0
sp(196:234)=psp2(196:234)*3.16227766016837907870d0+psp2(274:312)*(
$-2.37170824512628453107d0)+psp2(469:507)*(-2.37170824512628453107d
$0)
sp(235:273)=psp2(79:117)*(-3.35410196624968470758d0)+psp2(157:195)
$*0.55901699437494745126d0+psp2(352:390)*3.35410196624968470758d0+p
$sp2(547:585)*(-0.55901699437494745126d0)
sp(274:312)=psp2(274:312)*(-6.27495019900556627590d0)+psp2(469:507
$)*2.09165006633518890666d0
sp(313:351)=psp2(157:195)*0.73950997288745201619d0+psp2(430:468)*(
$-4.43705983732471231917d0)+psp2(547:585)*0.73950997288745201619d0
return
end
subroutine hrrspher_gds_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(90),psp(64)
real*8 psp2(90)
real*8 gps(45),hps(63),xab,yab,zab
gps(1:5)=psp(16:20)+zab*psp(1:5)
gps(6:9)=psp(22:25)+zab*psp(6:9)
gps(10:12)=psp(27:29)+zab*psp(10:12)
gps(13:14)=psp(31:32)+zab*psp(13:14)
gps(15)=psp(34)+zab*psp(15)
gps(16:20)=psp(17:21)+yab*psp(1:5)
gps(21:24)=psp(23:26)+yab*psp(6:9)
gps(25:27)=psp(28:30)+yab*psp(10:12)
gps(28:29)=psp(32:33)+yab*psp(13:14)
gps(30)=psp(35)+yab*psp(15)
gps(31:45)=psp(22:36)+xab*psp(1:15)
hps(1:6)=psp(37:42)+zab*psp(16:21)
hps(7:11)=psp(44:48)+zab*psp(22:26)
hps(12:15)=psp(50:53)+zab*psp(27:30)
hps(16:18)=psp(55:57)+zab*psp(31:33)
hps(19:20)=psp(59:60)+zab*psp(34:35)
hps(21)=psp(62)+zab*psp(36)
hps(22:27)=psp(38:43)+yab*psp(16:21)
hps(28:32)=psp(45:49)+yab*psp(22:26)
hps(33:36)=psp(51:54)+yab*psp(27:30)
hps(37:39)=psp(56:58)+yab*psp(31:33)
hps(40:41)=psp(60:61)+yab*psp(34:35)
hps(42)=psp(63)+yab*psp(36)
hps(43:63)=psp(44:64)+xab*psp(16:36)
psp2(1:5)=hps(1:5)+zab*gps(1:5)
psp2(6:9)=hps(7:10)+zab*gps(6:9)
psp2(10:12)=hps(12:14)+zab*gps(10:12)
psp2(13:14)=hps(16:17)+zab*gps(13:14)
psp2(15)=hps(19)+zab*gps(15)
psp2(16:20)=hps(22:26)+zab*gps(16:20)
psp2(21:24)=hps(28:31)+zab*gps(21:24)
psp2(25:27)=hps(33:35)+zab*gps(25:27)
psp2(28:29)=hps(37:38)+zab*gps(28:29)
psp2(30)=hps(40)+zab*gps(30)
psp2(31:35)=hps(23:27)+yab*gps(16:20)
psp2(36:39)=hps(29:32)+yab*gps(21:24)
psp2(40:42)=hps(34:36)+yab*gps(25:27)
psp2(43:44)=hps(38:39)+yab*gps(28:29)
psp2(45)=hps(41)+yab*gps(30)
psp2(46:50)=hps(43:47)+zab*gps(31:35)
psp2(51:54)=hps(49:52)+zab*gps(36:39)
psp2(55:57)=hps(54:56)+zab*gps(40:42)
psp2(58:59)=hps(58:59)+zab*gps(43:44)
psp2(60)=hps(61)+zab*gps(45)
psp2(61:65)=hps(44:48)+yab*gps(31:35)
psp2(66:69)=hps(50:53)+yab*gps(36:39)
psp2(70:72)=hps(55:57)+yab*gps(40:42)
psp2(73:74)=hps(59:60)+yab*gps(43:44)
psp2(75)=hps(62)+yab*gps(45)
psp2(76:90)=hps(49:63)+xab*gps(31:45)
sp(1:15)=psp2(61:75)*1.73205080756887697113d0
sp(16:30)=psp2(16:30)*1.73205080756887697113d0
sp(31:45)=psp2(1:15)+psp2(31:45)*(-0.50000000000000000000d0)+psp2(
$76:90)*(-0.50000000000000000000d0)
sp(46:60)=psp2(46:60)*1.73205080756887697113d0
sp(61:75)=psp2(31:45)*(-0.86602540378443848557d0)+psp2(76:90)*0.86
$602540378443848557d0
do ji=1,15
ii=(ji-1)*5
do ki=1,5
psp2(ii+ki)=sp((ki-1)*15+ji)
enddo
enddo
sp(1:5)=psp2(41:45)*(-2.95803989154980806475d0)+psp2(66:70)*2.9580
$3989154980806475d0
sp(6:10)=psp2(16:20)*(-2.09165006633518890666d0)+psp2(51:55)*6.274
$95019900556627590d0
sp(11:15)=psp2(31:35)*6.70820393249936941515d0+psp2(41:45)*(-1.118
$03398874989490253d0)+psp2(66:70)*(-1.11803398874989490253d0)
sp(16:20)=psp2(6:10)*3.16227766016837907870d0+psp2(16:20)*(-2.3717
$0824512628453107d0)+psp2(51:55)*(-2.37170824512628453107d0)
sp(21:25)=psp2(1:5)+psp2(11:15)*(-3.00000000000000000000d0)+psp2(2
$1:25)*0.37500000000000000000d0+psp2(46:50)*(-3.0000000000000000000
$0d0)+psp2(56:60)*0.75000000000000000000d0+psp2(71:75)*0.3750000000
$0000000000d0
sp(26:30)=psp2(26:30)*3.16227766016837907870d0+psp2(36:40)*(-2.371
$70824512628453107d0)+psp2(61:65)*(-2.37170824512628453107d0)
sp(31:35)=psp2(11:15)*(-3.35410196624968470758d0)+psp2(21:25)*0.55
$901699437494745126d0+psp2(46:50)*3.35410196624968470758d0+psp2(71:
$75)*(-0.55901699437494745126d0)
sp(36:40)=psp2(36:40)*(-6.27495019900556627590d0)+psp2(61:65)*2.09
$165006633518890666d0
sp(41:45)=psp2(21:25)*0.73950997288745201619d0+psp2(56:60)*(-4.437
$05983732471231917d0)+psp2(71:75)*0.73950997288745201619d0
return
end
subroutine hrrspher_gdp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(270),psp(192)
real*8 psp2(270)
real*8 gpp(135),hpp(189),xab,yab,zab
gpp(1:15)=psp(46:60)+zab*psp(1:15)
gpp(16:27)=psp(64:75)+zab*psp(16:27)
gpp(28:36)=psp(79:87)+zab*psp(28:36)
gpp(37:42)=psp(91:96)+zab*psp(37:42)
gpp(43:45)=psp(100:102)+zab*psp(43:45)
gpp(46:60)=psp(49:63)+yab*psp(1:15)
gpp(61:72)=psp(67:78)+yab*psp(16:27)
gpp(73:81)=psp(82:90)+yab*psp(28:36)
gpp(82:87)=psp(94:99)+yab*psp(37:42)
gpp(88:90)=psp(103:105)+yab*psp(43:45)
gpp(91:135)=psp(64:108)+xab*psp(1:45)
hpp(1:18)=psp(109:126)+zab*psp(46:63)
hpp(19:33)=psp(130:144)+zab*psp(64:78)
hpp(34:45)=psp(148:159)+zab*psp(79:90)
hpp(46:54)=psp(163:171)+zab*psp(91:99)
hpp(55:60)=psp(175:180)+zab*psp(100:105)
hpp(61:63)=psp(184:186)+zab*psp(106:108)
hpp(64:81)=psp(112:129)+yab*psp(46:63)
hpp(82:96)=psp(133:147)+yab*psp(64:78)
hpp(97:108)=psp(151:162)+yab*psp(79:90)
hpp(109:117)=psp(166:174)+yab*psp(91:99)
hpp(118:123)=psp(178:183)+yab*psp(100:105)
hpp(124:126)=psp(187:189)+yab*psp(106:108)
hpp(127:189)=psp(130:192)+xab*psp(46:108)
psp2(1:15)=hpp(1:15)+zab*gpp(1:15)
psp2(16:27)=hpp(19:30)+zab*gpp(16:27)
psp2(28:36)=hpp(34:42)+zab*gpp(28:36)
psp2(37:42)=hpp(46:51)+zab*gpp(37:42)
psp2(43:45)=hpp(55:57)+zab*gpp(43:45)
psp2(46:60)=hpp(64:78)+zab*gpp(46:60)
psp2(61:72)=hpp(82:93)+zab*gpp(61:72)
psp2(73:81)=hpp(97:105)+zab*gpp(73:81)
psp2(82:87)=hpp(109:114)+zab*gpp(82:87)
psp2(88:90)=hpp(118:120)+zab*gpp(88:90)
psp2(91:105)=hpp(67:81)+yab*gpp(46:60)
psp2(106:117)=hpp(85:96)+yab*gpp(61:72)
psp2(118:126)=hpp(100:108)+yab*gpp(73:81)
psp2(127:132)=hpp(112:117)+yab*gpp(82:87)
psp2(133:135)=hpp(121:123)+yab*gpp(88:90)
psp2(136:150)=hpp(127:141)+zab*gpp(91:105)
psp2(151:162)=hpp(145:156)+zab*gpp(106:117)
psp2(163:171)=hpp(160:168)+zab*gpp(118:126)
psp2(172:177)=hpp(172:177)+zab*gpp(127:132)
psp2(178:180)=hpp(181:183)+zab*gpp(133:135)
psp2(181:195)=hpp(130:144)+yab*gpp(91:105)
psp2(196:207)=hpp(148:159)+yab*gpp(106:117)
psp2(208:216)=hpp(163:171)+yab*gpp(118:126)
psp2(217:222)=hpp(175:180)+yab*gpp(127:132)
psp2(223:225)=hpp(184:186)+yab*gpp(133:135)
psp2(226:270)=hpp(145:189)+xab*gpp(91:135)
sp(1:45)=psp2(181:225)*1.73205080756887697113d0
sp(46:90)=psp2(46:90)*1.73205080756887697113d0
sp(91:135)=psp2(1:45)+psp2(91:135)*(-0.50000000000000000000d0)+psp
$2(226:270)*(-0.50000000000000000000d0)
sp(136:180)=psp2(136:180)*1.73205080756887697113d0
sp(181:225)=psp2(91:135)*(-0.86602540378443848557d0)+psp2(226:270)
$*0.86602540378443848557d0
do ji=0,4
ki=ji*45
jk=ji*3
do ii=0,14
k=ii*3
il=ii*15
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:15)=psp2(121:135)*(-2.95803989154980806475d0)+psp2(196:210)*2
$.95803989154980806475d0
sp(16:30)=psp2(46:60)*(-2.09165006633518890666d0)+psp2(151:165)*6.
$27495019900556627590d0
sp(31:45)=psp2(91:105)*6.70820393249936941515d0+psp2(121:135)*(-1.
$11803398874989490253d0)+psp2(196:210)*(-1.11803398874989490253d0)
sp(46:60)=psp2(16:30)*3.16227766016837907870d0+psp2(46:60)*(-2.371
$70824512628453107d0)+psp2(151:165)*(-2.37170824512628453107d0)
sp(61:75)=psp2(1:15)+psp2(31:45)*(-3.00000000000000000000d0)+psp2(
$61:75)*0.37500000000000000000d0+psp2(136:150)*(-3.0000000000000000
$0000d0)+psp2(166:180)*0.75000000000000000000d0+psp2(211:225)*0.375
$00000000000000000d0
sp(76:90)=psp2(76:90)*3.16227766016837907870d0+psp2(106:120)*(-2.3
$7170824512628453107d0)+psp2(181:195)*(-2.37170824512628453107d0)
sp(91:105)=psp2(31:45)*(-3.35410196624968470758d0)+psp2(61:75)*0.5
$5901699437494745126d0+psp2(136:150)*3.35410196624968470758d0+psp2(
$211:225)*(-0.55901699437494745126d0)
sp(106:120)=psp2(106:120)*(-6.27495019900556627590d0)+psp2(181:195
$)*2.09165006633518890666d0
sp(121:135)=psp2(61:75)*0.73950997288745201619d0+psp2(166:180)*(-4
$.43705983732471231917d0)+psp2(211:225)*0.73950997288745201619d0
return
end
subroutine hrrspher_gdd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(450),psp(384)
real*8 psp2(450)
real*8 gpd(225),hpd(315),xab,yab,zab
sp(1:64)=psp(257:320)*1.73205080756887697113d0
sp(65:128)=psp(65:128)*1.73205080756887697113d0
sp(129:192)=psp(1:64)+psp(129:192)*(-0.50000000000000000000d0)+psp
$(321:384)*(-0.50000000000000000000d0)
sp(193:256)=psp(193:256)*1.73205080756887697113d0
sp(257:320)=psp(129:192)*(-0.86602540378443848557d0)+psp(321:384)*
$0.86602540378443848557d0
do ii=1,5
ji=(ii-1)*64
do ki=1,64
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
gpd(1:25)=psp(76:100)+zab*psp(1:25)
gpd(26:45)=psp(106:125)+zab*psp(26:45)
gpd(46:60)=psp(131:145)+zab*psp(46:60)
gpd(61:70)=psp(151:160)+zab*psp(61:70)
gpd(71:75)=psp(166:170)+zab*psp(71:75)
gpd(76:100)=psp(81:105)+yab*psp(1:25)
gpd(101:120)=psp(111:130)+yab*psp(26:45)
gpd(121:135)=psp(136:150)+yab*psp(46:60)
gpd(136:145)=psp(156:165)+yab*psp(61:70)
gpd(146:150)=psp(171:175)+yab*psp(71:75)
gpd(151:225)=psp(106:180)+xab*psp(1:75)
hpd(1:30)=psp(181:210)+zab*psp(76:105)
hpd(31:55)=psp(216:240)+zab*psp(106:130)
hpd(56:75)=psp(246:265)+zab*psp(131:150)
hpd(76:90)=psp(271:285)+zab*psp(151:165)
hpd(91:100)=psp(291:300)+zab*psp(166:175)
hpd(101:105)=psp(306:310)+zab*psp(176:180)
hpd(106:135)=psp(186:215)+yab*psp(76:105)
hpd(136:160)=psp(221:245)+yab*psp(106:130)
hpd(161:180)=psp(251:270)+yab*psp(131:150)
hpd(181:195)=psp(276:290)+yab*psp(151:165)
hpd(196:205)=psp(296:305)+yab*psp(166:175)
hpd(206:210)=psp(311:315)+yab*psp(176:180)
hpd(211:315)=psp(216:320)+xab*psp(76:180)
psp2(1:25)=hpd(1:25)+zab*gpd(1:25)
psp2(26:45)=hpd(31:50)+zab*gpd(26:45)
psp2(46:60)=hpd(56:70)+zab*gpd(46:60)
psp2(61:70)=hpd(76:85)+zab*gpd(61:70)
psp2(71:75)=hpd(91:95)+zab*gpd(71:75)
psp2(76:100)=hpd(106:130)+zab*gpd(76:100)
psp2(101:120)=hpd(136:155)+zab*gpd(101:120)
psp2(121:135)=hpd(161:175)+zab*gpd(121:135)
psp2(136:145)=hpd(181:190)+zab*gpd(136:145)
psp2(146:150)=hpd(196:200)+zab*gpd(146:150)
psp2(151:175)=hpd(111:135)+yab*gpd(76:100)
psp2(176:195)=hpd(141:160)+yab*gpd(101:120)
psp2(196:210)=hpd(166:180)+yab*gpd(121:135)
psp2(211:220)=hpd(186:195)+yab*gpd(136:145)
psp2(221:225)=hpd(201:205)+yab*gpd(146:150)
psp2(226:250)=hpd(211:235)+zab*gpd(151:175)
psp2(251:270)=hpd(241:260)+zab*gpd(176:195)
psp2(271:285)=hpd(266:280)+zab*gpd(196:210)
psp2(286:295)=hpd(286:295)+zab*gpd(211:220)
psp2(296:300)=hpd(301:305)+zab*gpd(221:225)
psp2(301:325)=hpd(216:240)+yab*gpd(151:175)
psp2(326:345)=hpd(246:265)+yab*gpd(176:195)
psp2(346:360)=hpd(271:285)+yab*gpd(196:210)
psp2(361:370)=hpd(291:300)+yab*gpd(211:220)
psp2(371:375)=hpd(306:310)+yab*gpd(221:225)
psp2(376:450)=hpd(241:315)+xab*gpd(151:225)
sp(1:75)=psp2(301:375)*1.73205080756887697113d0
sp(76:150)=psp2(76:150)*1.73205080756887697113d0
sp(151:225)=psp2(1:75)+psp2(151:225)*(-0.50000000000000000000d0)+p
$sp2(376:450)*(-0.50000000000000000000d0)
sp(226:300)=psp2(226:300)*1.73205080756887697113d0
sp(301:375)=psp2(151:225)*(-0.86602540378443848557d0)+psp2(376:450
$)*0.86602540378443848557d0
do ji=0,4
ki=ji*75
jk=ji*5
do ii=0,14
k=ii*5
il=ii*25
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:25)=psp2(201:225)*(-2.95803989154980806475d0)+psp2(326:350)*2
$.95803989154980806475d0
sp(26:50)=psp2(76:100)*(-2.09165006633518890666d0)+psp2(251:275)*6
$.27495019900556627590d0
sp(51:75)=psp2(151:175)*6.70820393249936941515d0+psp2(201:225)*(-1
$.11803398874989490253d0)+psp2(326:350)*(-1.11803398874989490253d0)
sp(76:100)=psp2(26:50)*3.16227766016837907870d0+psp2(76:100)*(-2.3
$7170824512628453107d0)+psp2(251:275)*(-2.37170824512628453107d0)
sp(101:125)=psp2(1:25)+psp2(51:75)*(-3.00000000000000000000d0)+psp
$2(101:125)*0.37500000000000000000d0+psp2(226:250)*(-3.000000000000
$00000000d0)+psp2(276:300)*0.75000000000000000000d0+psp2(351:375)*0
$.37500000000000000000d0
sp(126:150)=psp2(126:150)*3.16227766016837907870d0+psp2(176:200)*(
$-2.37170824512628453107d0)+psp2(301:325)*(-2.37170824512628453107d
$0)
sp(151:175)=psp2(51:75)*(-3.35410196624968470758d0)+psp2(101:125)*
$0.55901699437494745126d0+psp2(226:250)*3.35410196624968470758d0+ps
$p2(351:375)*(-0.55901699437494745126d0)
sp(176:200)=psp2(176:200)*(-6.27495019900556627590d0)+psp2(301:325
$)*2.09165006633518890666d0
sp(201:225)=psp2(101:125)*0.73950997288745201619d0+psp2(276:300)*(
$-4.43705983732471231917d0)+psp2(351:375)*0.73950997288745201619d0
return
end
subroutine hrrspher_gdf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(630),psp(640)
real*8 gpf(315),hpf(441),xab,yab,zab
sp(1:64)=psp(193:256)*(-0.79056941504209476967d0)+psp(513:576)*2.3
$7170824512628453107d0
sp(65:128)=psp(321:384)*3.87298334620741657730d0
sp(129:192)=psp(65:128)*2.44948974278317788134d0+psp(193:256)*(-0.
$61237243569579447033d0)+psp(513:576)*(-0.61237243569579447033d0)
sp(193:256)=psp(1:64)+psp(129:192)*(-1.50000000000000000000d0)+psp
$(449:512)*(-1.50000000000000000000d0)
sp(257:320)=psp(257:320)*2.44948974278317788134d0+psp(385:448)*(-0
$.61237243569579447033d0)+psp(577:640)*(-0.61237243569579447033d0)
sp(321:384)=psp(129:192)*(-1.93649167310370828865d0)+psp(449:512)*
$1.93649167310370828865d0
sp(385:448)=psp(385:448)*(-2.37170824512628453107d0)+psp(577:640)*
$0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*64
do ki=1,64
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
gpf(1:35)=psp(106:140)+zab*psp(1:35)
gpf(36:63)=psp(148:175)+zab*psp(36:63)
gpf(64:84)=psp(183:203)+zab*psp(64:84)
gpf(85:98)=psp(211:224)+zab*psp(85:98)
gpf(99:105)=psp(232:238)+zab*psp(99:105)
gpf(106:140)=psp(113:147)+yab*psp(1:35)
gpf(141:168)=psp(155:182)+yab*psp(36:63)
gpf(169:189)=psp(190:210)+yab*psp(64:84)
gpf(190:203)=psp(218:231)+yab*psp(85:98)
gpf(204:210)=psp(239:245)+yab*psp(99:105)
gpf(211:315)=psp(148:252)+xab*psp(1:105)
hpf(1:42)=psp(253:294)+zab*psp(106:147)
hpf(43:77)=psp(302:336)+zab*psp(148:182)
hpf(78:105)=psp(344:371)+zab*psp(183:210)
hpf(106:126)=psp(379:399)+zab*psp(211:231)
hpf(127:140)=psp(407:420)+zab*psp(232:245)
hpf(141:147)=psp(428:434)+zab*psp(246:252)
hpf(148:189)=psp(260:301)+yab*psp(106:147)
hpf(190:224)=psp(309:343)+yab*psp(148:182)
hpf(225:252)=psp(351:378)+yab*psp(183:210)
hpf(253:273)=psp(386:406)+yab*psp(211:231)
hpf(274:287)=psp(414:427)+yab*psp(232:245)
hpf(288:294)=psp(435:441)+yab*psp(246:252)
hpf(295:441)=psp(302:448)+xab*psp(106:252)
psp(1:35)=hpf(1:35)+zab*gpf(1:35)
psp(36:63)=hpf(43:70)+zab*gpf(36:63)
psp(64:84)=hpf(78:98)+zab*gpf(64:84)
psp(85:98)=hpf(106:119)+zab*gpf(85:98)
psp(99:105)=hpf(127:133)+zab*gpf(99:105)
psp(106:140)=hpf(148:182)+zab*gpf(106:140)
psp(141:168)=hpf(190:217)+zab*gpf(141:168)
psp(169:189)=hpf(225:245)+zab*gpf(169:189)
psp(190:203)=hpf(253:266)+zab*gpf(190:203)
psp(204:210)=hpf(274:280)+zab*gpf(204:210)
psp(211:245)=hpf(155:189)+yab*gpf(106:140)
psp(246:273)=hpf(197:224)+yab*gpf(141:168)
psp(274:294)=hpf(232:252)+yab*gpf(169:189)
psp(295:308)=hpf(260:273)+yab*gpf(190:203)
psp(309:315)=hpf(281:287)+yab*gpf(204:210)
psp(316:350)=hpf(295:329)+zab*gpf(211:245)
psp(351:378)=hpf(337:364)+zab*gpf(246:273)
psp(379:399)=hpf(372:392)+zab*gpf(274:294)
psp(400:413)=hpf(400:413)+zab*gpf(295:308)
psp(414:420)=hpf(421:427)+zab*gpf(309:315)
psp(421:455)=hpf(302:336)+yab*gpf(211:245)
psp(456:483)=hpf(344:371)+yab*gpf(246:273)
psp(484:504)=hpf(379:399)+yab*gpf(274:294)
psp(505:518)=hpf(407:420)+yab*gpf(295:308)
psp(519:525)=hpf(428:434)+yab*gpf(309:315)
psp(526:630)=hpf(337:441)+xab*gpf(211:315)
sp(1:105)=psp(421:525)*1.73205080756887697113d0
sp(106:210)=psp(106:210)*1.73205080756887697113d0
sp(211:315)=psp(1:105)+psp(211:315)*(-0.50000000000000000000d0)+ps
$p(526:630)*(-0.50000000000000000000d0)
sp(316:420)=psp(316:420)*1.73205080756887697113d0
sp(421:525)=psp(211:315)*(-0.86602540378443848557d0)+psp(526:630)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*105
jk=ji*7
do ii=0,14
k=ii*7
il=ii*35
do ik=1,7
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:35)=psp(281:315)*(-2.95803989154980806475d0)+psp(456:490)*2.9
$5803989154980806475d0
sp(36:70)=psp(106:140)*(-2.09165006633518890666d0)+psp(351:385)*6.
$27495019900556627590d0
sp(71:105)=psp(211:245)*6.70820393249936941515d0+psp(281:315)*(-1.
$11803398874989490253d0)+psp(456:490)*(-1.11803398874989490253d0)
sp(106:140)=psp(36:70)*3.16227766016837907870d0+psp(106:140)*(-2.3
$7170824512628453107d0)+psp(351:385)*(-2.37170824512628453107d0)
sp(141:175)=psp(1:35)+psp(71:105)*(-3.00000000000000000000d0)+psp(
$141:175)*0.37500000000000000000d0+psp(316:350)*(-3.000000000000000
$00000d0)+psp(386:420)*0.75000000000000000000d0+psp(491:525)*0.3750
$0000000000000000d0
sp(176:210)=psp(176:210)*3.16227766016837907870d0+psp(246:280)*(-2
$.37170824512628453107d0)+psp(421:455)*(-2.37170824512628453107d0)
sp(211:245)=psp(71:105)*(-3.35410196624968470758d0)+psp(141:175)*0
$.55901699437494745126d0+psp(316:350)*3.35410196624968470758d0+psp(
$491:525)*(-0.55901699437494745126d0)
sp(246:280)=psp(246:280)*(-6.27495019900556627590d0)+psp(421:455)*
$2.09165006633518890666d0
sp(281:315)=psp(141:175)*0.73950997288745201619d0+psp(386:420)*(-4
$.43705983732471231917d0)+psp(491:525)*0.73950997288745201619d0
return
end
subroutine hrrspher_gdg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(810),psp(960)
real*8 gpg(405),hpg(567),xab,yab,zab
sp(1:64)=psp(513:576)*(-2.95803989154980806475d0)+psp(833:896)*2.9
$5803989154980806475d0
sp(65:128)=psp(193:256)*(-2.09165006633518890666d0)+psp(641:704)*6
$.27495019900556627590d0
sp(129:192)=psp(385:448)*6.70820393249936941515d0+psp(513:576)*(-1
$.11803398874989490253d0)+psp(833:896)*(-1.11803398874989490253d0)
sp(193:256)=psp(65:128)*3.16227766016837907870d0+psp(193:256)*(-2.
$37170824512628453107d0)+psp(641:704)*(-2.37170824512628453107d0)
sp(257:320)=psp(1:64)+psp(129:192)*(-3.00000000000000000000d0)+psp
$(257:320)*0.37500000000000000000d0+psp(577:640)*(-3.00000000000000
$000000d0)+psp(705:768)*0.75000000000000000000d0+psp(897:960)*0.375
$00000000000000000d0
sp(321:384)=psp(321:384)*3.16227766016837907870d0+psp(449:512)*(-2
$.37170824512628453107d0)+psp(769:832)*(-2.37170824512628453107d0)
sp(385:448)=psp(129:192)*(-3.35410196624968470758d0)+psp(257:320)*
$0.55901699437494745126d0+psp(577:640)*3.35410196624968470758d0+psp
$(897:960)*(-0.55901699437494745126d0)
sp(449:512)=psp(449:512)*(-6.27495019900556627590d0)+psp(769:832)*
$2.09165006633518890666d0
sp(513:576)=psp(257:320)*0.73950997288745201619d0+psp(705:768)*(-4
$.43705983732471231917d0)+psp(897:960)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*64
do ki=1,64
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
gpg(1:45)=psp(136:180)+zab*psp(1:45)
gpg(46:81)=psp(190:225)+zab*psp(46:81)
gpg(82:108)=psp(235:261)+zab*psp(82:108)
gpg(109:126)=psp(271:288)+zab*psp(109:126)
gpg(127:135)=psp(298:306)+zab*psp(127:135)
gpg(136:180)=psp(145:189)+yab*psp(1:45)
gpg(181:216)=psp(199:234)+yab*psp(46:81)
gpg(217:243)=psp(244:270)+yab*psp(82:108)
gpg(244:261)=psp(280:297)+yab*psp(109:126)
gpg(262:270)=psp(307:315)+yab*psp(127:135)
gpg(271:405)=psp(190:324)+xab*psp(1:135)
hpg(1:54)=psp(325:378)+zab*psp(136:189)
hpg(55:99)=psp(388:432)+zab*psp(190:234)
hpg(100:135)=psp(442:477)+zab*psp(235:270)
hpg(136:162)=psp(487:513)+zab*psp(271:297)
hpg(163:180)=psp(523:540)+zab*psp(298:315)
hpg(181:189)=psp(550:558)+zab*psp(316:324)
hpg(190:243)=psp(334:387)+yab*psp(136:189)
hpg(244:288)=psp(397:441)+yab*psp(190:234)
hpg(289:324)=psp(451:486)+yab*psp(235:270)
hpg(325:351)=psp(496:522)+yab*psp(271:297)
hpg(352:369)=psp(532:549)+yab*psp(298:315)
hpg(370:378)=psp(559:567)+yab*psp(316:324)
hpg(379:567)=psp(388:576)+xab*psp(136:324)
psp(1:45)=hpg(1:45)+zab*gpg(1:45)
psp(46:81)=hpg(55:90)+zab*gpg(46:81)
psp(82:108)=hpg(100:126)+zab*gpg(82:108)
psp(109:126)=hpg(136:153)+zab*gpg(109:126)
psp(127:135)=hpg(163:171)+zab*gpg(127:135)
psp(136:180)=hpg(190:234)+zab*gpg(136:180)
psp(181:216)=hpg(244:279)+zab*gpg(181:216)
psp(217:243)=hpg(289:315)+zab*gpg(217:243)
psp(244:261)=hpg(325:342)+zab*gpg(244:261)
psp(262:270)=hpg(352:360)+zab*gpg(262:270)
psp(271:315)=hpg(199:243)+yab*gpg(136:180)
psp(316:351)=hpg(253:288)+yab*gpg(181:216)
psp(352:378)=hpg(298:324)+yab*gpg(217:243)
psp(379:396)=hpg(334:351)+yab*gpg(244:261)
psp(397:405)=hpg(361:369)+yab*gpg(262:270)
psp(406:450)=hpg(379:423)+zab*gpg(271:315)
psp(451:486)=hpg(433:468)+zab*gpg(316:351)
psp(487:513)=hpg(478:504)+zab*gpg(352:378)
psp(514:531)=hpg(514:531)+zab*gpg(379:396)
psp(532:540)=hpg(541:549)+zab*gpg(397:405)
psp(541:585)=hpg(388:432)+yab*gpg(271:315)
psp(586:621)=hpg(442:477)+yab*gpg(316:351)
psp(622:648)=hpg(487:513)+yab*gpg(352:378)
psp(649:666)=hpg(523:540)+yab*gpg(379:396)
psp(667:675)=hpg(550:558)+yab*gpg(397:405)
psp(676:810)=hpg(433:567)+xab*gpg(271:405)
sp(1:135)=psp(541:675)*1.73205080756887697113d0
sp(136:270)=psp(136:270)*1.73205080756887697113d0
sp(271:405)=psp(1:135)+psp(271:405)*(-0.50000000000000000000d0)+ps
$p(676:810)*(-0.50000000000000000000d0)
sp(406:540)=psp(406:540)*1.73205080756887697113d0
sp(541:675)=psp(271:405)*(-0.86602540378443848557d0)+psp(676:810)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*135
jk=ji*9
do ii=0,14
k=ii*9
il=ii*45
do ik=1,9
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:45)=psp(361:405)*(-2.95803989154980806475d0)+psp(586:630)*2.9
$5803989154980806475d0
sp(46:90)=psp(136:180)*(-2.09165006633518890666d0)+psp(451:495)*6.
$27495019900556627590d0
sp(91:135)=psp(271:315)*6.70820393249936941515d0+psp(361:405)*(-1.
$11803398874989490253d0)+psp(586:630)*(-1.11803398874989490253d0)
sp(136:180)=psp(46:90)*3.16227766016837907870d0+psp(136:180)*(-2.3
$7170824512628453107d0)+psp(451:495)*(-2.37170824512628453107d0)
sp(181:225)=psp(1:45)+psp(91:135)*(-3.00000000000000000000d0)+psp(
$181:225)*0.37500000000000000000d0+psp(406:450)*(-3.000000000000000
$00000d0)+psp(496:540)*0.75000000000000000000d0+psp(631:675)*0.3750
$0000000000000000d0
sp(226:270)=psp(226:270)*3.16227766016837907870d0+psp(316:360)*(-2
$.37170824512628453107d0)+psp(541:585)*(-2.37170824512628453107d0)
sp(271:315)=psp(91:135)*(-3.35410196624968470758d0)+psp(181:225)*0
$.55901699437494745126d0+psp(406:450)*3.35410196624968470758d0+psp(
$631:675)*(-0.55901699437494745126d0)
sp(316:360)=psp(316:360)*(-6.27495019900556627590d0)+psp(541:585)*
$2.09165006633518890666d0
sp(361:405)=psp(181:225)*0.73950997288745201619d0+psp(496:540)*(-4
$.43705983732471231917d0)+psp(631:675)*0.73950997288745201619d0
return
end
subroutine hrrspher_gdh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(990),psp(1344)
real*8 gph(495),hph(693),xab,yab,zab
sp(1:64)=psp(321:384)*0.70156076002011391601d0+psp(897:960)*(-7.01
$560760020113871605d0)+psp(1217:1280)*3.50780380010056935802d0
sp(65:128)=psp(577:640)*(-8.87411967464942463835d0)+psp(1025:1088)
$*8.87411967464942463835d0
sp(129:192)=psp(193:256)*(-4.18330013267037692515d0)+psp(321:384)*
$0.52291251658379711564d0+psp(769:832)*12.54990039801113255180d0+ps
$p(897:960)*(-1.04582503316759423129d0)+psp(1217:1280)*(-1.56873754
$975139156898d0)
sp(193:256)=psp(449:512)*10.24695076595959974952d0+psp(577:640)*(-
$5.12347538297979987476d0)+psp(1025:1088)*(-5.12347538297979987476d
$0)
sp(257:320)=psp(65:128)*3.87298334620741613321d0+psp(193:256)*(-5.
$80947501931112419982d0)+psp(321:384)*0.48412291827592701665d0+psp(
$769:832)*(-5.80947501931112419982d0)+psp(897:960)*0.96824583655185
$403330d0+psp(1217:1280)*0.48412291827592701665d0
sp(321:384)=psp(1:64)+psp(129:192)*(-5.00000000000000000000d0)+psp
$(257:320)*1.87500000000000000000d0+psp(705:768)*(-5.00000000000000
$000000d0)+psp(833:896)*3.75000000000000000000d0+psp(1153:1216)*1.8
$7500000000000000000d0
sp(385:448)=psp(385:448)*3.87298334620741613321d0+psp(513:576)*(-5
$.80947501931112419982d0)+psp(641:704)*0.48412291827592701665d0+psp
$(961:1024)*(-5.80947501931112419982d0)+psp(1089:1152)*0.9682458365
$5185403330d0+psp(1281:1344)*0.48412291827592701665d0
sp(449:512)=psp(129:192)*(-5.12347538297979987476d0)+psp(257:320)*
$2.56173769148989993738d0+psp(705:768)*5.12347538297979987476d0+psp
$(1153:1216)*(-2.56173769148989993738d0)
sp(513:576)=psp(513:576)*(-12.54990039801113255180d0)+psp(641:704)
$*1.56873754975139156898d0+psp(961:1024)*4.18330013267037692515d0+p
$sp(1089:1152)*1.04582503316759423129d0+psp(1281:1344)*(-0.52291251
$658379711564d0)
sp(577:640)=psp(257:320)*2.21852991866235615959d0+psp(833:896)*(-1
$3.31117951197413695752d0)+psp(1153:1216)*2.21852991866235615959d0
sp(641:704)=psp(641:704)*3.50780380010056935802d0+psp(1089:1152)*(
$-7.01560760020113871605d0)+psp(1281:1344)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*64
do ki=1,64
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
gph(1:55)=psp(166:220)+zab*psp(1:55)
gph(56:99)=psp(232:275)+zab*psp(56:99)
gph(100:132)=psp(287:319)+zab*psp(100:132)
gph(133:154)=psp(331:352)+zab*psp(133:154)
gph(155:165)=psp(364:374)+zab*psp(155:165)
gph(166:220)=psp(177:231)+yab*psp(1:55)
gph(221:264)=psp(243:286)+yab*psp(56:99)
gph(265:297)=psp(298:330)+yab*psp(100:132)
gph(298:319)=psp(342:363)+yab*psp(133:154)
gph(320:330)=psp(375:385)+yab*psp(155:165)
gph(331:495)=psp(232:396)+xab*psp(1:165)
hph(1:66)=psp(397:462)+zab*psp(166:231)
hph(67:121)=psp(474:528)+zab*psp(232:286)
hph(122:165)=psp(540:583)+zab*psp(287:330)
hph(166:198)=psp(595:627)+zab*psp(331:363)
hph(199:220)=psp(639:660)+zab*psp(364:385)
hph(221:231)=psp(672:682)+zab*psp(386:396)
hph(232:297)=psp(408:473)+yab*psp(166:231)
hph(298:352)=psp(485:539)+yab*psp(232:286)
hph(353:396)=psp(551:594)+yab*psp(287:330)
hph(397:429)=psp(606:638)+yab*psp(331:363)
hph(430:451)=psp(650:671)+yab*psp(364:385)
hph(452:462)=psp(683:693)+yab*psp(386:396)
hph(463:693)=psp(474:704)+xab*psp(166:396)
psp(1:55)=hph(1:55)+zab*gph(1:55)
psp(56:99)=hph(67:110)+zab*gph(56:99)
psp(100:132)=hph(122:154)+zab*gph(100:132)
psp(133:154)=hph(166:187)+zab*gph(133:154)
psp(155:165)=hph(199:209)+zab*gph(155:165)
psp(166:220)=hph(232:286)+zab*gph(166:220)
psp(221:264)=hph(298:341)+zab*gph(221:264)
psp(265:297)=hph(353:385)+zab*gph(265:297)
psp(298:319)=hph(397:418)+zab*gph(298:319)
psp(320:330)=hph(430:440)+zab*gph(320:330)
psp(331:385)=hph(243:297)+yab*gph(166:220)
psp(386:429)=hph(309:352)+yab*gph(221:264)
psp(430:462)=hph(364:396)+yab*gph(265:297)
psp(463:484)=hph(408:429)+yab*gph(298:319)
psp(485:495)=hph(441:451)+yab*gph(320:330)
psp(496:550)=hph(463:517)+zab*gph(331:385)
psp(551:594)=hph(529:572)+zab*gph(386:429)
psp(595:627)=hph(584:616)+zab*gph(430:462)
psp(628:649)=hph(628:649)+zab*gph(463:484)
psp(650:660)=hph(661:671)+zab*gph(485:495)
psp(661:715)=hph(474:528)+yab*gph(331:385)
psp(716:759)=hph(540:583)+yab*gph(386:429)
psp(760:792)=hph(595:627)+yab*gph(430:462)
psp(793:814)=hph(639:660)+yab*gph(463:484)
psp(815:825)=hph(672:682)+yab*gph(485:495)
psp(826:990)=hph(529:693)+xab*gph(331:495)
sp(1:165)=psp(661:825)*1.73205080756887697113d0
sp(166:330)=psp(166:330)*1.73205080756887697113d0
sp(331:495)=psp(1:165)+psp(331:495)*(-0.50000000000000000000d0)+ps
$p(826:990)*(-0.50000000000000000000d0)
sp(496:660)=psp(496:660)*1.73205080756887697113d0
sp(661:825)=psp(331:495)*(-0.86602540378443848557d0)+psp(826:990)*
$0.86602540378443848557d0
do ji=0,4
ki=ji*165
jk=ji*11
do ii=0,14
k=ii*11
il=ii*55
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:55)=psp(441:495)*(-2.95803989154980806475d0)+psp(716:770)*2.9
$5803989154980806475d0
sp(56:110)=psp(166:220)*(-2.09165006633518890666d0)+psp(551:605)*6
$.27495019900556627590d0
sp(111:165)=psp(331:385)*6.70820393249936941515d0+psp(441:495)*(-1
$.11803398874989490253d0)+psp(716:770)*(-1.11803398874989490253d0)
sp(166:220)=psp(56:110)*3.16227766016837907870d0+psp(166:220)*(-2.
$37170824512628453107d0)+psp(551:605)*(-2.37170824512628453107d0)
sp(221:275)=psp(1:55)+psp(111:165)*(-3.00000000000000000000d0)+psp
$(221:275)*0.37500000000000000000d0+psp(496:550)*(-3.00000000000000
$000000d0)+psp(606:660)*0.75000000000000000000d0+psp(771:825)*0.375
$00000000000000000d0
sp(276:330)=psp(276:330)*3.16227766016837907870d0+psp(386:440)*(-2
$.37170824512628453107d0)+psp(661:715)*(-2.37170824512628453107d0)
sp(331:385)=psp(111:165)*(-3.35410196624968470758d0)+psp(221:275)*
$0.55901699437494745126d0+psp(496:550)*3.35410196624968470758d0+psp
$(771:825)*(-0.55901699437494745126d0)
sp(386:440)=psp(386:440)*(-6.27495019900556627590d0)+psp(661:715)*
$2.09165006633518890666d0
sp(441:495)=psp(221:275)*0.73950997288745201619d0+psp(606:660)*(-4
$.43705983732471231917d0)+psp(771:825)*0.73950997288745201619d0
return
end
subroutine hrrspher_gdi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1170),psp(1792)
real*8 gpi(585),hpi(819),xab,yab,zab
sp(1:64)=psp(769:832)*4.03015973628837986809d0+psp(1345:1408)*(-13
$.43386578762789973496d0)+psp(1665:1728)*4.03015973628837986809d0
sp(65:128)=psp(321:384)*2.32681380862329012515d0+psp(1025:1088)*(-
$23.26813808623289858701d0)+psp(1473:1536)*11.63406904311639955552d
$0
sp(129:192)=psp(641:704)*(-19.84313483298440061731d0)+psp(769:832)
$*1.98431348329843992850d0+psp(1217:1280)*19.84313483298440061731d0
$+psp(1665:1728)*(-1.98431348329843992850d0)
sp(193:256)=psp(193:256)*(-7.24568837309471991404d0)+psp(321:384)*
$2.71713313991052007879d0+psp(897:960)*21.73706511928419971014d0+ps
$p(1025:1088)*(-5.43426627982104015757d0)+psp(1473:1536)*(-8.151399
$41973155934818d0)
sp(257:320)=psp(513:576)*14.49137674618940074822d0+psp(641:704)*(-
$14.49137674618940074822d0)+psp(769:832)*0.90571104663683998925d0+p
$sp(1217:1280)*(-14.49137674618940074822d0)+psp(1345:1408)*1.811422
$09327367997851d0+psp(1665:1728)*0.90571104663683998925d0
sp(321:384)=psp(65:128)*4.58257569495583982899d0+psp(193:256)*(-11
$.45643923738959912839d0)+psp(321:384)*2.86410980934739978210d0+psp
$(897:960)*(-11.45643923738959912839d0)+psp(1025:1088)*5.7282196186
$9479956420d0+psp(1473:1536)*2.86410980934739978210d0
sp(385:448)=psp(1:64)+psp(129:192)*(-7.50000000000000000000d0)+psp
$(257:320)*5.62500000000000000000d0+psp(385:448)*(-0.31250000000000
$000000d0)+psp(833:896)*(-7.50000000000000000000d0)+psp(961:1024)*1
$1.25000000000000000000d0+psp(1089:1152)*(-0.93750000000000000000d0
$)+psp(1409:1472)*5.62500000000000000000d0+psp(1537:1600)*(-0.93750
$000000000000000d0)+psp(1729:1792)*(-0.31250000000000000000d0)
sp(449:512)=psp(449:512)*4.58257569495583982899d0+psp(577:640)*(-1
$1.45643923738959912839d0)+psp(705:768)*2.86410980934739978210d0+ps
$p(1153:1216)*(-11.45643923738959912839d0)+psp(1281:1344)*5.7282196
$1869479956420d0+psp(1601:1664)*2.86410980934739978210d0
sp(513:576)=psp(129:192)*(-7.24568837309471991404d0)+psp(257:320)*
$7.24568837309471991404d0+psp(385:448)*(-0.45285552331841999463d0)+
$psp(833:896)*7.24568837309471991404d0+psp(1089:1152)*(-0.452855523
$31841999463d0)+psp(1409:1472)*(-7.24568837309471991404d0)+psp(1537
$:1600)*0.45285552331841999463d0+psp(1729:1792)*0.45285552331841999
$463d0
sp(577:640)=psp(577:640)*(-21.73706511928419971014d0)+psp(705:768)
$*8.15139941973155934818d0+psp(1153:1216)*7.24568837309471991404d0+
$psp(1281:1344)*5.43426627982104015757d0+psp(1601:1664)*(-2.7171331
$3991052007879d0)
sp(641:704)=psp(257:320)*4.96078370824610992429d0+psp(385:448)*(-0
$.49607837082461098133d0)+psp(961:1024)*(-29.76470224947659914960d0
$)+psp(1089:1152)*2.48039185412305007716d0+psp(1409:1472)*4.9607837
$0824610992429d0+psp(1537:1600)*2.48039185412305007716d0+psp(1729:1
$792)*(-0.49607837082461098133d0)
sp(705:768)=psp(705:768)*11.63406904311639955552d0+psp(1281:1344)*
$(-23.26813808623289858701d0)+psp(1601:1664)*2.32681380862329012515
$d0
sp(769:832)=psp(385:448)*(-0.67169328938139605256d0)+psp(1089:1152
$)*10.07539934072089948813d0+psp(1537:1600)*(-10.075399340720899488
$13d0)+psp(1729:1792)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*64
do ki=1,64
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
gpi(1:65)=psp(196:260)+zab*psp(1:65)
gpi(66:117)=psp(274:325)+zab*psp(66:117)
gpi(118:156)=psp(339:377)+zab*psp(118:156)
gpi(157:182)=psp(391:416)+zab*psp(157:182)
gpi(183:195)=psp(430:442)+zab*psp(183:195)
gpi(196:260)=psp(209:273)+yab*psp(1:65)
gpi(261:312)=psp(287:338)+yab*psp(66:117)
gpi(313:351)=psp(352:390)+yab*psp(118:156)
gpi(352:377)=psp(404:429)+yab*psp(157:182)
gpi(378:390)=psp(443:455)+yab*psp(183:195)
gpi(391:585)=psp(274:468)+xab*psp(1:195)
hpi(1:78)=psp(469:546)+zab*psp(196:273)
hpi(79:143)=psp(560:624)+zab*psp(274:338)
hpi(144:195)=psp(638:689)+zab*psp(339:390)
hpi(196:234)=psp(703:741)+zab*psp(391:429)
hpi(235:260)=psp(755:780)+zab*psp(430:455)
hpi(261:273)=psp(794:806)+zab*psp(456:468)
hpi(274:351)=psp(482:559)+yab*psp(196:273)
hpi(352:416)=psp(573:637)+yab*psp(274:338)
hpi(417:468)=psp(651:702)+yab*psp(339:390)
hpi(469:507)=psp(716:754)+yab*psp(391:429)
hpi(508:533)=psp(768:793)+yab*psp(430:455)
hpi(534:546)=psp(807:819)+yab*psp(456:468)
hpi(547:819)=psp(560:832)+xab*psp(196:468)
psp(1:65)=hpi(1:65)+zab*gpi(1:65)
psp(66:117)=hpi(79:130)+zab*gpi(66:117)
psp(118:156)=hpi(144:182)+zab*gpi(118:156)
psp(157:182)=hpi(196:221)+zab*gpi(157:182)
psp(183:195)=hpi(235:247)+zab*gpi(183:195)
psp(196:260)=hpi(274:338)+zab*gpi(196:260)
psp(261:312)=hpi(352:403)+zab*gpi(261:312)
psp(313:351)=hpi(417:455)+zab*gpi(313:351)
psp(352:377)=hpi(469:494)+zab*gpi(352:377)
psp(378:390)=hpi(508:520)+zab*gpi(378:390)
psp(391:455)=hpi(287:351)+yab*gpi(196:260)
psp(456:507)=hpi(365:416)+yab*gpi(261:312)
psp(508:546)=hpi(430:468)+yab*gpi(313:351)
psp(547:572)=hpi(482:507)+yab*gpi(352:377)
psp(573:585)=hpi(521:533)+yab*gpi(378:390)
psp(586:650)=hpi(547:611)+zab*gpi(391:455)
psp(651:702)=hpi(625:676)+zab*gpi(456:507)
psp(703:741)=hpi(690:728)+zab*gpi(508:546)
psp(742:767)=hpi(742:767)+zab*gpi(547:572)
psp(768:780)=hpi(781:793)+zab*gpi(573:585)
psp(781:845)=hpi(560:624)+yab*gpi(391:455)
psp(846:897)=hpi(638:689)+yab*gpi(456:507)
psp(898:936)=hpi(703:741)+yab*gpi(508:546)
psp(937:962)=hpi(755:780)+yab*gpi(547:572)
psp(963:975)=hpi(794:806)+yab*gpi(573:585)
psp(976:1170)=hpi(625:819)+xab*gpi(391:585)
sp(1:195)=psp(781:975)*1.73205080756887697113d0
sp(196:390)=psp(196:390)*1.73205080756887697113d0
sp(391:585)=psp(1:195)+psp(391:585)*(-0.50000000000000000000d0)+ps
$p(976:1170)*(-0.50000000000000000000d0)
sp(586:780)=psp(586:780)*1.73205080756887697113d0
sp(781:975)=psp(391:585)*(-0.86602540378443848557d0)+psp(976:1170)
$*0.86602540378443848557d0
do ji=0,4
ki=ji*195
jk=ji*13
do ii=0,14
k=ii*13
il=ii*65
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:65)=psp(521:585)*(-2.95803989154980806475d0)+psp(846:910)*2.9
$5803989154980806475d0
sp(66:130)=psp(196:260)*(-2.09165006633518890666d0)+psp(651:715)*6
$.27495019900556627590d0
sp(131:195)=psp(391:455)*6.70820393249936941515d0+psp(521:585)*(-1
$.11803398874989490253d0)+psp(846:910)*(-1.11803398874989490253d0)
sp(196:260)=psp(66:130)*3.16227766016837907870d0+psp(196:260)*(-2.
$37170824512628453107d0)+psp(651:715)*(-2.37170824512628453107d0)
sp(261:325)=psp(1:65)+psp(131:195)*(-3.00000000000000000000d0)+psp
$(261:325)*0.37500000000000000000d0+psp(586:650)*(-3.00000000000000
$000000d0)+psp(716:780)*0.75000000000000000000d0+psp(911:975)*0.375
$00000000000000000d0
sp(326:390)=psp(326:390)*3.16227766016837907870d0+psp(456:520)*(-2
$.37170824512628453107d0)+psp(781:845)*(-2.37170824512628453107d0)
sp(391:455)=psp(131:195)*(-3.35410196624968470758d0)+psp(261:325)*
$0.55901699437494745126d0+psp(586:650)*3.35410196624968470758d0+psp
$(911:975)*(-0.55901699437494745126d0)
sp(456:520)=psp(456:520)*(-6.27495019900556627590d0)+psp(781:845)*
$2.09165006633518890666d0
sp(521:585)=psp(261:325)*0.73950997288745201619d0+psp(716:780)*(-4
$.43705983732471231917d0)+psp(911:975)*0.73950997288745201619d0
return
end
subroutine hrrspher_gfs_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(150),psp(100)
real*8 psp2(150)
real*8 gps(45),hps(63),ips(84),gds(90),hds(126),xab,yab,zab
gps(1:5)=psp(16:20)+zab*psp(1:5)
gps(6:9)=psp(22:25)+zab*psp(6:9)
gps(10:12)=psp(27:29)+zab*psp(10:12)
gps(13:14)=psp(31:32)+zab*psp(13:14)
gps(15)=psp(34)+zab*psp(15)
gps(16:20)=psp(17:21)+yab*psp(1:5)
gps(21:24)=psp(23:26)+yab*psp(6:9)
gps(25:27)=psp(28:30)+yab*psp(10:12)
gps(28:29)=psp(32:33)+yab*psp(13:14)
gps(30)=psp(35)+yab*psp(15)
gps(31:45)=psp(22:36)+xab*psp(1:15)
hps(1:6)=psp(37:42)+zab*psp(16:21)
hps(7:11)=psp(44:48)+zab*psp(22:26)
hps(12:15)=psp(50:53)+zab*psp(27:30)
hps(16:18)=psp(55:57)+zab*psp(31:33)
hps(19:20)=psp(59:60)+zab*psp(34:35)
hps(21)=psp(62)+zab*psp(36)
hps(22:27)=psp(38:43)+yab*psp(16:21)
hps(28:32)=psp(45:49)+yab*psp(22:26)
hps(33:36)=psp(51:54)+yab*psp(27:30)
hps(37:39)=psp(56:58)+yab*psp(31:33)
hps(40:41)=psp(60:61)+yab*psp(34:35)
hps(42)=psp(63)+yab*psp(36)
hps(43:63)=psp(44:64)+xab*psp(16:36)
ips(1:7)=psp(65:71)+zab*psp(37:43)
ips(8:13)=psp(73:78)+zab*psp(44:49)
ips(14:18)=psp(80:84)+zab*psp(50:54)
ips(19:22)=psp(86:89)+zab*psp(55:58)
ips(23:25)=psp(91:93)+zab*psp(59:61)
ips(26:27)=psp(95:96)+zab*psp(62:63)
ips(28)=psp(98)+zab*psp(64)
ips(29:35)=psp(66:72)+yab*psp(37:43)
ips(36:41)=psp(74:79)+yab*psp(44:49)
ips(42:46)=psp(81:85)+yab*psp(50:54)
ips(47:50)=psp(87:90)+yab*psp(55:58)
ips(51:53)=psp(92:94)+yab*psp(59:61)
ips(54:55)=psp(96:97)+yab*psp(62:63)
ips(56)=psp(99)+yab*psp(64)
ips(57:84)=psp(73:100)+xab*psp(37:64)
gds(1:5)=hps(1:5)+zab*gps(1:5)
gds(6:9)=hps(7:10)+zab*gps(6:9)
gds(10:12)=hps(12:14)+zab*gps(10:12)
gds(13:14)=hps(16:17)+zab*gps(13:14)
gds(15)=hps(19)+zab*gps(15)
gds(31:35)=hps(23:27)+yab*gps(16:20)
gds(36:39)=hps(29:32)+yab*gps(21:24)
gds(40:42)=hps(34:36)+yab*gps(25:27)
gds(43:44)=hps(38:39)+yab*gps(28:29)
gds(45)=hps(41)+yab*gps(30)
gds(61:65)=hps(44:48)+yab*gps(31:35)
gds(66:69)=hps(50:53)+yab*gps(36:39)
gds(70:72)=hps(55:57)+yab*gps(40:42)
gds(73:74)=hps(59:60)+yab*gps(43:44)
gds(75)=hps(62)+yab*gps(45)
gds(76:90)=hps(49:63)+xab*gps(31:45)
hds(1:6)=ips(1:6)+zab*hps(1:6)
hds(7:11)=ips(8:12)+zab*hps(7:11)
hds(12:15)=ips(14:17)+zab*hps(12:15)
hds(16:18)=ips(19:21)+zab*hps(16:18)
hds(19:20)=ips(23:24)+zab*hps(19:20)
hds(21)=ips(26)+zab*hps(21)
hds(43:48)=ips(30:35)+yab*hps(22:27)
hds(49:53)=ips(37:41)+yab*hps(28:32)
hds(54:57)=ips(43:46)+yab*hps(33:36)
hds(58:60)=ips(48:50)+yab*hps(37:39)
hds(61:62)=ips(52:53)+yab*hps(40:41)
hds(63)=ips(55)+yab*hps(42)
hds(85:90)=ips(58:63)+yab*hps(43:48)
hds(91:95)=ips(65:69)+yab*hps(49:53)
hds(96:99)=ips(71:74)+yab*hps(54:57)
hds(100:102)=ips(76:78)+yab*hps(58:60)
hds(103:104)=ips(80:81)+yab*hps(61:62)
hds(105)=ips(83)+yab*hps(63)
hds(106:126)=ips(64:84)+xab*hps(43:63)
psp2(1:5)=hds(1:5)+zab*gds(1:5)
psp2(6:9)=hds(7:10)+zab*gds(6:9)
psp2(10:12)=hds(12:14)+zab*gds(10:12)
psp2(13:14)=hds(16:17)+zab*gds(13:14)
psp2(15)=hds(19)+zab*gds(15)
psp2(16:20)=hds(2:6)+yab*gds(1:5)
psp2(21:24)=hds(8:11)+yab*gds(6:9)
psp2(25:27)=hds(13:15)+yab*gds(10:12)
psp2(28:29)=hds(17:18)+yab*gds(13:14)
psp2(30)=hds(20)+yab*gds(15)
psp2(31:35)=hds(43:47)+zab*gds(31:35)
psp2(36:39)=hds(49:52)+zab*gds(36:39)
psp2(40:42)=hds(54:56)+zab*gds(40:42)
psp2(43:44)=hds(58:59)+zab*gds(43:44)
psp2(45)=hds(61)+zab*gds(45)
psp2(46:50)=hds(44:48)+yab*gds(31:35)
psp2(51:54)=hds(50:53)+yab*gds(36:39)
psp2(55:57)=hds(55:57)+yab*gds(40:42)
psp2(58:59)=hds(59:60)+yab*gds(43:44)
psp2(60)=hds(62)+yab*gds(45)
psp2(61:75)=hds(7:21)+xab*gds(1:15)
psp2(76:80)=hds(85:89)+zab*gds(61:65)
psp2(81:84)=hds(91:94)+zab*gds(66:69)
psp2(85:87)=hds(96:98)+zab*gds(70:72)
psp2(88:89)=hds(100:101)+zab*gds(73:74)
psp2(90)=hds(103)+zab*gds(75)
psp2(91:105)=hds(49:63)+xab*gds(31:45)
psp2(106:110)=hds(106:110)+zab*gds(76:80)
psp2(111:114)=hds(112:115)+zab*gds(81:84)
psp2(115:117)=hds(117:119)+zab*gds(85:87)
psp2(118:119)=hds(121:122)+zab*gds(88:89)
psp2(120)=hds(124)+zab*gds(90)
psp2(121:125)=hds(107:111)+yab*gds(76:80)
psp2(126:129)=hds(113:116)+yab*gds(81:84)
psp2(130:132)=hds(118:120)+yab*gds(85:87)
psp2(133:134)=hds(122:123)+yab*gds(88:89)
psp2(135)=hds(125)+yab*gds(90)
psp2(136:150)=hds(112:126)+xab*gds(76:90)
sp(1:15)=psp2(46:60)*(-0.79056941504209476967d0)+psp2(121:135)*2.3
$7170824512628453107d0
sp(16:30)=psp2(76:90)*3.87298334620741657730d0
sp(31:45)=psp2(16:30)*2.44948974278317788134d0+psp2(46:60)*(-0.612
$37243569579447033d0)+psp2(121:135)*(-0.61237243569579447033d0)
sp(46:60)=psp2(1:15)+psp2(31:45)*(-1.50000000000000000000d0)+psp2(
$106:120)*(-1.50000000000000000000d0)
sp(61:75)=psp2(61:75)*2.44948974278317788134d0+psp2(91:105)*(-0.61
$237243569579447033d0)+psp2(136:150)*(-0.61237243569579447033d0)
sp(76:90)=psp2(31:45)*(-1.93649167310370828865d0)+psp2(106:120)*1.
$93649167310370828865d0
sp(91:105)=psp2(91:105)*(-2.37170824512628453107d0)+psp2(136:150)*
$0.79056941504209476967d0
do ji=1,15
ii=(ji-1)*7
do ki=1,7
psp2(ii+ki)=sp((ki-1)*15+ji)
enddo
enddo
sp(1:7)=psp2(57:63)*(-2.95803989154980806475d0)+psp2(92:98)*2.9580
$3989154980806475d0
sp(8:14)=psp2(22:28)*(-2.09165006633518890666d0)+psp2(71:77)*6.274
$95019900556627590d0
sp(15:21)=psp2(43:49)*6.70820393249936941515d0+psp2(57:63)*(-1.118
$03398874989490253d0)+psp2(92:98)*(-1.11803398874989490253d0)
sp(22:28)=psp2(8:14)*3.16227766016837907870d0+psp2(22:28)*(-2.3717
$0824512628453107d0)+psp2(71:77)*(-2.37170824512628453107d0)
sp(29:35)=psp2(1:7)+psp2(15:21)*(-3.00000000000000000000d0)+psp2(2
$9:35)*0.37500000000000000000d0+psp2(64:70)*(-3.0000000000000000000
$0d0)+psp2(78:84)*0.75000000000000000000d0+psp2(99:105)*0.375000000
$00000000000d0
sp(36:42)=psp2(36:42)*3.16227766016837907870d0+psp2(50:56)*(-2.371
$70824512628453107d0)+psp2(85:91)*(-2.37170824512628453107d0)
sp(43:49)=psp2(15:21)*(-3.35410196624968470758d0)+psp2(29:35)*0.55
$901699437494745126d0+psp2(64:70)*3.35410196624968470758d0+psp2(99:
$105)*(-0.55901699437494745126d0)
sp(50:56)=psp2(50:56)*(-6.27495019900556627590d0)+psp2(85:91)*2.09
$165006633518890666d0
sp(57:63)=psp2(29:35)*0.73950997288745201619d0+psp2(78:84)*(-4.437
$05983732471231917d0)+psp2(99:105)*0.73950997288745201619d0
return
end
subroutine hrrspher_gfp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(450),psp(300)
real*8 psp2(450)
real*8 gpp(135),hpp(189),ipp(252),gdp(270),hdp(378),xab,yab,zab
gpp(1:15)=psp(46:60)+zab*psp(1:15)
gpp(16:27)=psp(64:75)+zab*psp(16:27)
gpp(28:36)=psp(79:87)+zab*psp(28:36)
gpp(37:42)=psp(91:96)+zab*psp(37:42)
gpp(43:45)=psp(100:102)+zab*psp(43:45)
gpp(46:60)=psp(49:63)+yab*psp(1:15)
gpp(61:72)=psp(67:78)+yab*psp(16:27)
gpp(73:81)=psp(82:90)+yab*psp(28:36)
gpp(82:87)=psp(94:99)+yab*psp(37:42)
gpp(88:90)=psp(103:105)+yab*psp(43:45)
gpp(91:135)=psp(64:108)+xab*psp(1:45)
hpp(1:18)=psp(109:126)+zab*psp(46:63)
hpp(19:33)=psp(130:144)+zab*psp(64:78)
hpp(34:45)=psp(148:159)+zab*psp(79:90)
hpp(46:54)=psp(163:171)+zab*psp(91:99)
hpp(55:60)=psp(175:180)+zab*psp(100:105)
hpp(61:63)=psp(184:186)+zab*psp(106:108)
hpp(64:81)=psp(112:129)+yab*psp(46:63)
hpp(82:96)=psp(133:147)+yab*psp(64:78)
hpp(97:108)=psp(151:162)+yab*psp(79:90)
hpp(109:117)=psp(166:174)+yab*psp(91:99)
hpp(118:123)=psp(178:183)+yab*psp(100:105)
hpp(124:126)=psp(187:189)+yab*psp(106:108)
hpp(127:189)=psp(130:192)+xab*psp(46:108)
ipp(1:21)=psp(193:213)+zab*psp(109:129)
ipp(22:39)=psp(217:234)+zab*psp(130:147)
ipp(40:54)=psp(238:252)+zab*psp(148:162)
ipp(55:66)=psp(256:267)+zab*psp(163:174)
ipp(67:75)=psp(271:279)+zab*psp(175:183)
ipp(76:81)=psp(283:288)+zab*psp(184:189)
ipp(82:84)=psp(292:294)+zab*psp(190:192)
ipp(85:105)=psp(196:216)+yab*psp(109:129)
ipp(106:123)=psp(220:237)+yab*psp(130:147)
ipp(124:138)=psp(241:255)+yab*psp(148:162)
ipp(139:150)=psp(259:270)+yab*psp(163:174)
ipp(151:159)=psp(274:282)+yab*psp(175:183)
ipp(160:165)=psp(286:291)+yab*psp(184:189)
ipp(166:168)=psp(295:297)+yab*psp(190:192)
ipp(169:252)=psp(217:300)+xab*psp(109:192)
gdp(1:15)=hpp(1:15)+zab*gpp(1:15)
gdp(16:27)=hpp(19:30)+zab*gpp(16:27)
gdp(28:36)=hpp(34:42)+zab*gpp(28:36)
gdp(37:42)=hpp(46:51)+zab*gpp(37:42)
gdp(43:45)=hpp(55:57)+zab*gpp(43:45)
gdp(91:105)=hpp(67:81)+yab*gpp(46:60)
gdp(106:117)=hpp(85:96)+yab*gpp(61:72)
gdp(118:126)=hpp(100:108)+yab*gpp(73:81)
gdp(127:132)=hpp(112:117)+yab*gpp(82:87)
gdp(133:135)=hpp(121:123)+yab*gpp(88:90)
gdp(181:195)=hpp(130:144)+yab*gpp(91:105)
gdp(196:207)=hpp(148:159)+yab*gpp(106:117)
gdp(208:216)=hpp(163:171)+yab*gpp(118:126)
gdp(217:222)=hpp(175:180)+yab*gpp(127:132)
gdp(223:225)=hpp(184:186)+yab*gpp(133:135)
gdp(226:270)=hpp(145:189)+xab*gpp(91:135)
hdp(1:18)=ipp(1:18)+zab*hpp(1:18)
hdp(19:33)=ipp(22:36)+zab*hpp(19:33)
hdp(34:45)=ipp(40:51)+zab*hpp(34:45)
hdp(46:54)=ipp(55:63)+zab*hpp(46:54)
hdp(55:60)=ipp(67:72)+zab*hpp(55:60)
hdp(61:63)=ipp(76:78)+zab*hpp(61:63)
hdp(127:144)=ipp(88:105)+yab*hpp(64:81)
hdp(145:159)=ipp(109:123)+yab*hpp(82:96)
hdp(160:171)=ipp(127:138)+yab*hpp(97:108)
hdp(172:180)=ipp(142:150)+yab*hpp(109:117)
hdp(181:186)=ipp(154:159)+yab*hpp(118:123)
hdp(187:189)=ipp(163:165)+yab*hpp(124:126)
hdp(253:270)=ipp(172:189)+yab*hpp(127:144)
hdp(271:285)=ipp(193:207)+yab*hpp(145:159)
hdp(286:297)=ipp(211:222)+yab*hpp(160:171)
hdp(298:306)=ipp(226:234)+yab*hpp(172:180)
hdp(307:312)=ipp(238:243)+yab*hpp(181:186)
hdp(313:315)=ipp(247:249)+yab*hpp(187:189)
hdp(316:378)=ipp(190:252)+xab*hpp(127:189)
psp2(1:15)=hdp(1:15)+zab*gdp(1:15)
psp2(16:27)=hdp(19:30)+zab*gdp(16:27)
psp2(28:36)=hdp(34:42)+zab*gdp(28:36)
psp2(37:42)=hdp(46:51)+zab*gdp(37:42)
psp2(43:45)=hdp(55:57)+zab*gdp(43:45)
psp2(46:60)=hdp(4:18)+yab*gdp(1:15)
psp2(61:72)=hdp(22:33)+yab*gdp(16:27)
psp2(73:81)=hdp(37:45)+yab*gdp(28:36)
psp2(82:87)=hdp(49:54)+yab*gdp(37:42)
psp2(88:90)=hdp(58:60)+yab*gdp(43:45)
psp2(91:105)=hdp(127:141)+zab*gdp(91:105)
psp2(106:117)=hdp(145:156)+zab*gdp(106:117)
psp2(118:126)=hdp(160:168)+zab*gdp(118:126)
psp2(127:132)=hdp(172:177)+zab*gdp(127:132)
psp2(133:135)=hdp(181:183)+zab*gdp(133:135)
psp2(136:150)=hdp(130:144)+yab*gdp(91:105)
psp2(151:162)=hdp(148:159)+yab*gdp(106:117)
psp2(163:171)=hdp(163:171)+yab*gdp(118:126)
psp2(172:177)=hdp(175:180)+yab*gdp(127:132)
psp2(178:180)=hdp(184:186)+yab*gdp(133:135)
psp2(181:225)=hdp(19:63)+xab*gdp(1:45)
psp2(226:240)=hdp(253:267)+zab*gdp(181:195)
psp2(241:252)=hdp(271:282)+zab*gdp(196:207)
psp2(253:261)=hdp(286:294)+zab*gdp(208:216)
psp2(262:267)=hdp(298:303)+zab*gdp(217:222)
psp2(268:270)=hdp(307:309)+zab*gdp(223:225)
psp2(271:315)=hdp(145:189)+xab*gdp(91:135)
psp2(316:330)=hdp(316:330)+zab*gdp(226:240)
psp2(331:342)=hdp(334:345)+zab*gdp(241:252)
psp2(343:351)=hdp(349:357)+zab*gdp(253:261)
psp2(352:357)=hdp(361:366)+zab*gdp(262:267)
psp2(358:360)=hdp(370:372)+zab*gdp(268:270)
psp2(361:375)=hdp(319:333)+yab*gdp(226:240)
psp2(376:387)=hdp(337:348)+yab*gdp(241:252)
psp2(388:396)=hdp(352:360)+yab*gdp(253:261)
psp2(397:402)=hdp(364:369)+yab*gdp(262:267)
psp2(403:405)=hdp(373:375)+yab*gdp(268:270)
psp2(406:450)=hdp(334:378)+xab*gdp(226:270)
sp(1:45)=psp2(136:180)*(-0.79056941504209476967d0)+psp2(361:405)*2
$.37170824512628453107d0
sp(46:90)=psp2(226:270)*3.87298334620741657730d0
sp(91:135)=psp2(46:90)*2.44948974278317788134d0+psp2(136:180)*(-0.
$61237243569579447033d0)+psp2(361:405)*(-0.61237243569579447033d0)
sp(136:180)=psp2(1:45)+psp2(91:135)*(-1.50000000000000000000d0)+ps
$p2(316:360)*(-1.50000000000000000000d0)
sp(181:225)=psp2(181:225)*2.44948974278317788134d0+psp2(271:315)*(
$-0.61237243569579447033d0)+psp2(406:450)*(-0.61237243569579447033d
$0)
sp(226:270)=psp2(91:135)*(-1.93649167310370828865d0)+psp2(316:360)
$*1.93649167310370828865d0
sp(271:315)=psp2(271:315)*(-2.37170824512628453107d0)+psp2(406:450
$)*0.79056941504209476967d0
do ji=0,6
ki=ji*45
jk=ji*3
do ii=0,14
k=ii*3
il=ii*21
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:21)=psp2(169:189)*(-2.95803989154980806475d0)+psp2(274:294)*2
$.95803989154980806475d0
sp(22:42)=psp2(64:84)*(-2.09165006633518890666d0)+psp2(211:231)*6.
$27495019900556627590d0
sp(43:63)=psp2(127:147)*6.70820393249936941515d0+psp2(169:189)*(-1
$.11803398874989490253d0)+psp2(274:294)*(-1.11803398874989490253d0)
sp(64:84)=psp2(22:42)*3.16227766016837907870d0+psp2(64:84)*(-2.371
$70824512628453107d0)+psp2(211:231)*(-2.37170824512628453107d0)
sp(85:105)=psp2(1:21)+psp2(43:63)*(-3.00000000000000000000d0)+psp2
$(85:105)*0.37500000000000000000d0+psp2(190:210)*(-3.00000000000000
$000000d0)+psp2(232:252)*0.75000000000000000000d0+psp2(295:315)*0.3
$7500000000000000000d0
sp(106:126)=psp2(106:126)*3.16227766016837907870d0+psp2(148:168)*(
$-2.37170824512628453107d0)+psp2(253:273)*(-2.37170824512628453107d
$0)
sp(127:147)=psp2(43:63)*(-3.35410196624968470758d0)+psp2(85:105)*0
$.55901699437494745126d0+psp2(190:210)*3.35410196624968470758d0+psp
$2(295:315)*(-0.55901699437494745126d0)
sp(148:168)=psp2(148:168)*(-6.27495019900556627590d0)+psp2(253:273
$)*2.09165006633518890666d0
sp(169:189)=psp2(85:105)*0.73950997288745201619d0+psp2(232:252)*(-
$4.43705983732471231917d0)+psp2(295:315)*0.73950997288745201619d0
return
end
subroutine hrrspher_gfd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(750),psp(600)
real*8 psp2(750)
real*8 gpd(225),hpd(315),ipd(420),gdd(450),hdd(630),xab,yab,zab
sp(1:100)=psp(401:500)*1.73205080756887697113d0
sp(101:200)=psp(101:200)*1.73205080756887697113d0
sp(201:300)=psp(1:100)+psp(201:300)*(-0.50000000000000000000d0)+ps
$p(501:600)*(-0.50000000000000000000d0)
sp(301:400)=psp(301:400)*1.73205080756887697113d0
sp(401:500)=psp(201:300)*(-0.86602540378443848557d0)+psp(501:600)*
$0.86602540378443848557d0
do ii=1,5
ji=(ii-1)*100
do ki=1,100
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
gpd(1:25)=psp(76:100)+zab*psp(1:25)
gpd(26:45)=psp(106:125)+zab*psp(26:45)
gpd(46:60)=psp(131:145)+zab*psp(46:60)
gpd(61:70)=psp(151:160)+zab*psp(61:70)
gpd(71:75)=psp(166:170)+zab*psp(71:75)
gpd(76:100)=psp(81:105)+yab*psp(1:25)
gpd(101:120)=psp(111:130)+yab*psp(26:45)
gpd(121:135)=psp(136:150)+yab*psp(46:60)
gpd(136:145)=psp(156:165)+yab*psp(61:70)
gpd(146:150)=psp(171:175)+yab*psp(71:75)
gpd(151:225)=psp(106:180)+xab*psp(1:75)
hpd(1:30)=psp(181:210)+zab*psp(76:105)
hpd(31:55)=psp(216:240)+zab*psp(106:130)
hpd(56:75)=psp(246:265)+zab*psp(131:150)
hpd(76:90)=psp(271:285)+zab*psp(151:165)
hpd(91:100)=psp(291:300)+zab*psp(166:175)
hpd(101:105)=psp(306:310)+zab*psp(176:180)
hpd(106:135)=psp(186:215)+yab*psp(76:105)
hpd(136:160)=psp(221:245)+yab*psp(106:130)
hpd(161:180)=psp(251:270)+yab*psp(131:150)
hpd(181:195)=psp(276:290)+yab*psp(151:165)
hpd(196:205)=psp(296:305)+yab*psp(166:175)
hpd(206:210)=psp(311:315)+yab*psp(176:180)
hpd(211:315)=psp(216:320)+xab*psp(76:180)
ipd(1:35)=psp(321:355)+zab*psp(181:215)
ipd(36:65)=psp(361:390)+zab*psp(216:245)
ipd(66:90)=psp(396:420)+zab*psp(246:270)
ipd(91:110)=psp(426:445)+zab*psp(271:290)
ipd(111:125)=psp(451:465)+zab*psp(291:305)
ipd(126:135)=psp(471:480)+zab*psp(306:315)
ipd(136:140)=psp(486:490)+zab*psp(316:320)
ipd(141:175)=psp(326:360)+yab*psp(181:215)
ipd(176:205)=psp(366:395)+yab*psp(216:245)
ipd(206:230)=psp(401:425)+yab*psp(246:270)
ipd(231:250)=psp(431:450)+yab*psp(271:290)
ipd(251:265)=psp(456:470)+yab*psp(291:305)
ipd(266:275)=psp(476:485)+yab*psp(306:315)
ipd(276:280)=psp(491:495)+yab*psp(316:320)
ipd(281:420)=psp(361:500)+xab*psp(181:320)
gdd(1:25)=hpd(1:25)+zab*gpd(1:25)
gdd(26:45)=hpd(31:50)+zab*gpd(26:45)
gdd(46:60)=hpd(56:70)+zab*gpd(46:60)
gdd(61:70)=hpd(76:85)+zab*gpd(61:70)
gdd(71:75)=hpd(91:95)+zab*gpd(71:75)
gdd(151:175)=hpd(111:135)+yab*gpd(76:100)
gdd(176:195)=hpd(141:160)+yab*gpd(101:120)
gdd(196:210)=hpd(166:180)+yab*gpd(121:135)
gdd(211:220)=hpd(186:195)+yab*gpd(136:145)
gdd(221:225)=hpd(201:205)+yab*gpd(146:150)
gdd(301:325)=hpd(216:240)+yab*gpd(151:175)
gdd(326:345)=hpd(246:265)+yab*gpd(176:195)
gdd(346:360)=hpd(271:285)+yab*gpd(196:210)
gdd(361:370)=hpd(291:300)+yab*gpd(211:220)
gdd(371:375)=hpd(306:310)+yab*gpd(221:225)
gdd(376:450)=hpd(241:315)+xab*gpd(151:225)
hdd(1:30)=ipd(1:30)+zab*hpd(1:30)
hdd(31:55)=ipd(36:60)+zab*hpd(31:55)
hdd(56:75)=ipd(66:85)+zab*hpd(56:75)
hdd(76:90)=ipd(91:105)+zab*hpd(76:90)
hdd(91:100)=ipd(111:120)+zab*hpd(91:100)
hdd(101:105)=ipd(126:130)+zab*hpd(101:105)
hdd(211:240)=ipd(146:175)+yab*hpd(106:135)
hdd(241:265)=ipd(181:205)+yab*hpd(136:160)
hdd(266:285)=ipd(211:230)+yab*hpd(161:180)
hdd(286:300)=ipd(236:250)+yab*hpd(181:195)
hdd(301:310)=ipd(256:265)+yab*hpd(196:205)
hdd(311:315)=ipd(271:275)+yab*hpd(206:210)
hdd(421:450)=ipd(286:315)+yab*hpd(211:240)
hdd(451:475)=ipd(321:345)+yab*hpd(241:265)
hdd(476:495)=ipd(351:370)+yab*hpd(266:285)
hdd(496:510)=ipd(376:390)+yab*hpd(286:300)
hdd(511:520)=ipd(396:405)+yab*hpd(301:310)
hdd(521:525)=ipd(411:415)+yab*hpd(311:315)
hdd(526:630)=ipd(316:420)+xab*hpd(211:315)
psp2(1:25)=hdd(1:25)+zab*gdd(1:25)
psp2(26:45)=hdd(31:50)+zab*gdd(26:45)
psp2(46:60)=hdd(56:70)+zab*gdd(46:60)
psp2(61:70)=hdd(76:85)+zab*gdd(61:70)
psp2(71:75)=hdd(91:95)+zab*gdd(71:75)
psp2(76:100)=hdd(6:30)+yab*gdd(1:25)
psp2(101:120)=hdd(36:55)+yab*gdd(26:45)
psp2(121:135)=hdd(61:75)+yab*gdd(46:60)
psp2(136:145)=hdd(81:90)+yab*gdd(61:70)
psp2(146:150)=hdd(96:100)+yab*gdd(71:75)
psp2(151:175)=hdd(211:235)+zab*gdd(151:175)
psp2(176:195)=hdd(241:260)+zab*gdd(176:195)
psp2(196:210)=hdd(266:280)+zab*gdd(196:210)
psp2(211:220)=hdd(286:295)+zab*gdd(211:220)
psp2(221:225)=hdd(301:305)+zab*gdd(221:225)
psp2(226:250)=hdd(216:240)+yab*gdd(151:175)
psp2(251:270)=hdd(246:265)+yab*gdd(176:195)
psp2(271:285)=hdd(271:285)+yab*gdd(196:210)
psp2(286:295)=hdd(291:300)+yab*gdd(211:220)
psp2(296:300)=hdd(306:310)+yab*gdd(221:225)
psp2(301:375)=hdd(31:105)+xab*gdd(1:75)
psp2(376:400)=hdd(421:445)+zab*gdd(301:325)
psp2(401:420)=hdd(451:470)+zab*gdd(326:345)
psp2(421:435)=hdd(476:490)+zab*gdd(346:360)
psp2(436:445)=hdd(496:505)+zab*gdd(361:370)
psp2(446:450)=hdd(511:515)+zab*gdd(371:375)
psp2(451:525)=hdd(241:315)+xab*gdd(151:225)
psp2(526:550)=hdd(526:550)+zab*gdd(376:400)
psp2(551:570)=hdd(556:575)+zab*gdd(401:420)
psp2(571:585)=hdd(581:595)+zab*gdd(421:435)
psp2(586:595)=hdd(601:610)+zab*gdd(436:445)
psp2(596:600)=hdd(616:620)+zab*gdd(446:450)
psp2(601:625)=hdd(531:555)+yab*gdd(376:400)
psp2(626:645)=hdd(561:580)+yab*gdd(401:420)
psp2(646:660)=hdd(586:600)+yab*gdd(421:435)
psp2(661:670)=hdd(606:615)+yab*gdd(436:445)
psp2(671:675)=hdd(621:625)+yab*gdd(446:450)
psp2(676:750)=hdd(556:630)+xab*gdd(376:450)
sp(1:75)=psp2(226:300)*(-0.79056941504209476967d0)+psp2(601:675)*2
$.37170824512628453107d0
sp(76:150)=psp2(376:450)*3.87298334620741657730d0
sp(151:225)=psp2(76:150)*2.44948974278317788134d0+psp2(226:300)*(-
$0.61237243569579447033d0)+psp2(601:675)*(-0.61237243569579447033d0
$)
sp(226:300)=psp2(1:75)+psp2(151:225)*(-1.50000000000000000000d0)+p
$sp2(526:600)*(-1.50000000000000000000d0)
sp(301:375)=psp2(301:375)*2.44948974278317788134d0+psp2(451:525)*(
$-0.61237243569579447033d0)+psp2(676:750)*(-0.61237243569579447033d
$0)
sp(376:450)=psp2(151:225)*(-1.93649167310370828865d0)+psp2(526:600
$)*1.93649167310370828865d0
sp(451:525)=psp2(451:525)*(-2.37170824512628453107d0)+psp2(676:750
$)*0.79056941504209476967d0
do ji=0,6
ki=ji*75
jk=ji*5
do ii=0,14
k=ii*5
il=ii*35
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:35)=psp2(281:315)*(-2.95803989154980806475d0)+psp2(456:490)*2
$.95803989154980806475d0
sp(36:70)=psp2(106:140)*(-2.09165006633518890666d0)+psp2(351:385)*
$6.27495019900556627590d0
sp(71:105)=psp2(211:245)*6.70820393249936941515d0+psp2(281:315)*(-
$1.11803398874989490253d0)+psp2(456:490)*(-1.11803398874989490253d0
$)
sp(106:140)=psp2(36:70)*3.16227766016837907870d0+psp2(106:140)*(-2
$.37170824512628453107d0)+psp2(351:385)*(-2.37170824512628453107d0)
sp(141:175)=psp2(1:35)+psp2(71:105)*(-3.00000000000000000000d0)+ps
$p2(141:175)*0.37500000000000000000d0+psp2(316:350)*(-3.00000000000
$000000000d0)+psp2(386:420)*0.75000000000000000000d0+psp2(491:525)*
$0.37500000000000000000d0
sp(176:210)=psp2(176:210)*3.16227766016837907870d0+psp2(246:280)*(
$-2.37170824512628453107d0)+psp2(421:455)*(-2.37170824512628453107d
$0)
sp(211:245)=psp2(71:105)*(-3.35410196624968470758d0)+psp2(141:175)
$*0.55901699437494745126d0+psp2(316:350)*3.35410196624968470758d0+p
$sp2(491:525)*(-0.55901699437494745126d0)
sp(246:280)=psp2(246:280)*(-6.27495019900556627590d0)+psp2(421:455
$)*2.09165006633518890666d0
sp(281:315)=psp2(141:175)*0.73950997288745201619d0+psp2(386:420)*(
$-4.43705983732471231917d0)+psp2(491:525)*0.73950997288745201619d0
return
end
subroutine hrrspher_gff_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1050),psp(1000)
real*8 psp2(1050)
real*8 gpf(315),hpf(441),ipf(588),gdf(630),hdf(882),xab,yab,zab
sp(1:100)=psp(301:400)*(-0.79056941504209476967d0)+psp(801:900)*2.
$37170824512628453107d0
sp(101:200)=psp(501:600)*3.87298334620741657730d0
sp(201:300)=psp(101:200)*2.44948974278317788134d0+psp(301:400)*(-0
$.61237243569579447033d0)+psp(801:900)*(-0.61237243569579447033d0)
sp(301:400)=psp(1:100)+psp(201:300)*(-1.50000000000000000000d0)+ps
$p(701:800)*(-1.50000000000000000000d0)
sp(401:500)=psp(401:500)*2.44948974278317788134d0+psp(601:700)*(-0
$.61237243569579447033d0)+psp(901:1000)*(-0.61237243569579447033d0)
sp(501:600)=psp(201:300)*(-1.93649167310370828865d0)+psp(701:800)*
$1.93649167310370828865d0
sp(601:700)=psp(601:700)*(-2.37170824512628453107d0)+psp(901:1000)
$*0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*100
do ki=1,100
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
gpf(1:35)=psp(106:140)+zab*psp(1:35)
gpf(36:63)=psp(148:175)+zab*psp(36:63)
gpf(64:84)=psp(183:203)+zab*psp(64:84)
gpf(85:98)=psp(211:224)+zab*psp(85:98)
gpf(99:105)=psp(232:238)+zab*psp(99:105)
gpf(106:140)=psp(113:147)+yab*psp(1:35)
gpf(141:168)=psp(155:182)+yab*psp(36:63)
gpf(169:189)=psp(190:210)+yab*psp(64:84)
gpf(190:203)=psp(218:231)+yab*psp(85:98)
gpf(204:210)=psp(239:245)+yab*psp(99:105)
gpf(211:315)=psp(148:252)+xab*psp(1:105)
hpf(1:42)=psp(253:294)+zab*psp(106:147)
hpf(43:77)=psp(302:336)+zab*psp(148:182)
hpf(78:105)=psp(344:371)+zab*psp(183:210)
hpf(106:126)=psp(379:399)+zab*psp(211:231)
hpf(127:140)=psp(407:420)+zab*psp(232:245)
hpf(141:147)=psp(428:434)+zab*psp(246:252)
hpf(148:189)=psp(260:301)+yab*psp(106:147)
hpf(190:224)=psp(309:343)+yab*psp(148:182)
hpf(225:252)=psp(351:378)+yab*psp(183:210)
hpf(253:273)=psp(386:406)+yab*psp(211:231)
hpf(274:287)=psp(414:427)+yab*psp(232:245)
hpf(288:294)=psp(435:441)+yab*psp(246:252)
hpf(295:441)=psp(302:448)+xab*psp(106:252)
ipf(1:49)=psp(449:497)+zab*psp(253:301)
ipf(50:91)=psp(505:546)+zab*psp(302:343)
ipf(92:126)=psp(554:588)+zab*psp(344:378)
ipf(127:154)=psp(596:623)+zab*psp(379:406)
ipf(155:175)=psp(631:651)+zab*psp(407:427)
ipf(176:189)=psp(659:672)+zab*psp(428:441)
ipf(190:196)=psp(680:686)+zab*psp(442:448)
ipf(197:245)=psp(456:504)+yab*psp(253:301)
ipf(246:287)=psp(512:553)+yab*psp(302:343)
ipf(288:322)=psp(561:595)+yab*psp(344:378)
ipf(323:350)=psp(603:630)+yab*psp(379:406)
ipf(351:371)=psp(638:658)+yab*psp(407:427)
ipf(372:385)=psp(666:679)+yab*psp(428:441)
ipf(386:392)=psp(687:693)+yab*psp(442:448)
ipf(393:588)=psp(505:700)+xab*psp(253:448)
gdf(1:35)=hpf(1:35)+zab*gpf(1:35)
gdf(36:63)=hpf(43:70)+zab*gpf(36:63)
gdf(64:84)=hpf(78:98)+zab*gpf(64:84)
gdf(85:98)=hpf(106:119)+zab*gpf(85:98)
gdf(99:105)=hpf(127:133)+zab*gpf(99:105)
gdf(211:245)=hpf(155:189)+yab*gpf(106:140)
gdf(246:273)=hpf(197:224)+yab*gpf(141:168)
gdf(274:294)=hpf(232:252)+yab*gpf(169:189)
gdf(295:308)=hpf(260:273)+yab*gpf(190:203)
gdf(309:315)=hpf(281:287)+yab*gpf(204:210)
gdf(421:455)=hpf(302:336)+yab*gpf(211:245)
gdf(456:483)=hpf(344:371)+yab*gpf(246:273)
gdf(484:504)=hpf(379:399)+yab*gpf(274:294)
gdf(505:518)=hpf(407:420)+yab*gpf(295:308)
gdf(519:525)=hpf(428:434)+yab*gpf(309:315)
gdf(526:630)=hpf(337:441)+xab*gpf(211:315)
hdf(1:42)=ipf(1:42)+zab*hpf(1:42)
hdf(43:77)=ipf(50:84)+zab*hpf(43:77)
hdf(78:105)=ipf(92:119)+zab*hpf(78:105)
hdf(106:126)=ipf(127:147)+zab*hpf(106:126)
hdf(127:140)=ipf(155:168)+zab*hpf(127:140)
hdf(141:147)=ipf(176:182)+zab*hpf(141:147)
hdf(295:336)=ipf(204:245)+yab*hpf(148:189)
hdf(337:371)=ipf(253:287)+yab*hpf(190:224)
hdf(372:399)=ipf(295:322)+yab*hpf(225:252)
hdf(400:420)=ipf(330:350)+yab*hpf(253:273)
hdf(421:434)=ipf(358:371)+yab*hpf(274:287)
hdf(435:441)=ipf(379:385)+yab*hpf(288:294)
hdf(589:630)=ipf(400:441)+yab*hpf(295:336)
hdf(631:665)=ipf(449:483)+yab*hpf(337:371)
hdf(666:693)=ipf(491:518)+yab*hpf(372:399)
hdf(694:714)=ipf(526:546)+yab*hpf(400:420)
hdf(715:728)=ipf(554:567)+yab*hpf(421:434)
hdf(729:735)=ipf(575:581)+yab*hpf(435:441)
hdf(736:882)=ipf(442:588)+xab*hpf(295:441)
psp2(1:35)=hdf(1:35)+zab*gdf(1:35)
psp2(36:63)=hdf(43:70)+zab*gdf(36:63)
psp2(64:84)=hdf(78:98)+zab*gdf(64:84)
psp2(85:98)=hdf(106:119)+zab*gdf(85:98)
psp2(99:105)=hdf(127:133)+zab*gdf(99:105)
psp2(106:140)=hdf(8:42)+yab*gdf(1:35)
psp2(141:168)=hdf(50:77)+yab*gdf(36:63)
psp2(169:189)=hdf(85:105)+yab*gdf(64:84)
psp2(190:203)=hdf(113:126)+yab*gdf(85:98)
psp2(204:210)=hdf(134:140)+yab*gdf(99:105)
psp2(211:245)=hdf(295:329)+zab*gdf(211:245)
psp2(246:273)=hdf(337:364)+zab*gdf(246:273)
psp2(274:294)=hdf(372:392)+zab*gdf(274:294)
psp2(295:308)=hdf(400:413)+zab*gdf(295:308)
psp2(309:315)=hdf(421:427)+zab*gdf(309:315)
psp2(316:350)=hdf(302:336)+yab*gdf(211:245)
psp2(351:378)=hdf(344:371)+yab*gdf(246:273)
psp2(379:399)=hdf(379:399)+yab*gdf(274:294)
psp2(400:413)=hdf(407:420)+yab*gdf(295:308)
psp2(414:420)=hdf(428:434)+yab*gdf(309:315)
psp2(421:525)=hdf(43:147)+xab*gdf(1:105)
psp2(526:560)=hdf(589:623)+zab*gdf(421:455)
psp2(561:588)=hdf(631:658)+zab*gdf(456:483)
psp2(589:609)=hdf(666:686)+zab*gdf(484:504)
psp2(610:623)=hdf(694:707)+zab*gdf(505:518)
psp2(624:630)=hdf(715:721)+zab*gdf(519:525)
psp2(631:735)=hdf(337:441)+xab*gdf(211:315)
psp2(736:770)=hdf(736:770)+zab*gdf(526:560)
psp2(771:798)=hdf(778:805)+zab*gdf(561:588)
psp2(799:819)=hdf(813:833)+zab*gdf(589:609)
psp2(820:833)=hdf(841:854)+zab*gdf(610:623)
psp2(834:840)=hdf(862:868)+zab*gdf(624:630)
psp2(841:875)=hdf(743:777)+yab*gdf(526:560)
psp2(876:903)=hdf(785:812)+yab*gdf(561:588)
psp2(904:924)=hdf(820:840)+yab*gdf(589:609)
psp2(925:938)=hdf(848:861)+yab*gdf(610:623)
psp2(939:945)=hdf(869:875)+yab*gdf(624:630)
psp2(946:1050)=hdf(778:882)+xab*gdf(526:630)
sp(1:105)=psp2(316:420)*(-0.79056941504209476967d0)+psp2(841:945)*
$2.37170824512628453107d0
sp(106:210)=psp2(526:630)*3.87298334620741657730d0
sp(211:315)=psp2(106:210)*2.44948974278317788134d0+psp2(316:420)*(
$-0.61237243569579447033d0)+psp2(841:945)*(-0.61237243569579447033d
$0)
sp(316:420)=psp2(1:105)+psp2(211:315)*(-1.50000000000000000000d0)+
$psp2(736:840)*(-1.50000000000000000000d0)
sp(421:525)=psp2(421:525)*2.44948974278317788134d0+psp2(631:735)*(
$-0.61237243569579447033d0)+psp2(946:1050)*(-0.61237243569579447033
$d0)
sp(526:630)=psp2(211:315)*(-1.93649167310370828865d0)+psp2(736:840
$)*1.93649167310370828865d0
sp(631:735)=psp2(631:735)*(-2.37170824512628453107d0)+psp2(946:105
$0)*0.79056941504209476967d0
do ji=0,6
ki=ji*105
jk=ji*7
do ii=0,14
k=ii*7
il=ii*49
do ik=1,7
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:49)=psp2(393:441)*(-2.95803989154980806475d0)+psp2(638:686)*2
$.95803989154980806475d0
sp(50:98)=psp2(148:196)*(-2.09165006633518890666d0)+psp2(491:539)*
$6.27495019900556627590d0
sp(99:147)=psp2(295:343)*6.70820393249936941515d0+psp2(393:441)*(-
$1.11803398874989490253d0)+psp2(638:686)*(-1.11803398874989490253d0
$)
sp(148:196)=psp2(50:98)*3.16227766016837907870d0+psp2(148:196)*(-2
$.37170824512628453107d0)+psp2(491:539)*(-2.37170824512628453107d0)
sp(197:245)=psp2(1:49)+psp2(99:147)*(-3.00000000000000000000d0)+ps
$p2(197:245)*0.37500000000000000000d0+psp2(442:490)*(-3.00000000000
$000000000d0)+psp2(540:588)*0.75000000000000000000d0+psp2(687:735)*
$0.37500000000000000000d0
sp(246:294)=psp2(246:294)*3.16227766016837907870d0+psp2(344:392)*(
$-2.37170824512628453107d0)+psp2(589:637)*(-2.37170824512628453107d
$0)
sp(295:343)=psp2(99:147)*(-3.35410196624968470758d0)+psp2(197:245)
$*0.55901699437494745126d0+psp2(442:490)*3.35410196624968470758d0+p
$sp2(687:735)*(-0.55901699437494745126d0)
sp(344:392)=psp2(344:392)*(-6.27495019900556627590d0)+psp2(589:637
$)*2.09165006633518890666d0
sp(393:441)=psp2(197:245)*0.73950997288745201619d0+psp2(540:588)*(
$-4.43705983732471231917d0)+psp2(687:735)*0.73950997288745201619d0
return
end
subroutine hrrspher_gfg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1350),psp(1500)
real*8 gpg(405),hpg(567),ipg(756),gdg(810),hdg(1134),xab,yab,zab
sp(1:100)=psp(801:900)*(-2.95803989154980806475d0)+psp(1301:1400)*
$2.95803989154980806475d0
sp(101:200)=psp(301:400)*(-2.09165006633518890666d0)+psp(1001:1100
$)*6.27495019900556627590d0
sp(201:300)=psp(601:700)*6.70820393249936941515d0+psp(801:900)*(-1
$.11803398874989490253d0)+psp(1301:1400)*(-1.11803398874989490253d0
$)
sp(301:400)=psp(101:200)*3.16227766016837907870d0+psp(301:400)*(-2
$.37170824512628453107d0)+psp(1001:1100)*(-2.37170824512628453107d0
$)
sp(401:500)=psp(1:100)+psp(201:300)*(-3.00000000000000000000d0)+ps
$p(401:500)*0.37500000000000000000d0+psp(901:1000)*(-3.000000000000
$00000000d0)+psp(1101:1200)*0.75000000000000000000d0+psp(1401:1500)
$*0.37500000000000000000d0
sp(501:600)=psp(501:600)*3.16227766016837907870d0+psp(701:800)*(-2
$.37170824512628453107d0)+psp(1201:1300)*(-2.37170824512628453107d0
$)
sp(601:700)=psp(201:300)*(-3.35410196624968470758d0)+psp(401:500)*
$0.55901699437494745126d0+psp(901:1000)*3.35410196624968470758d0+ps
$p(1401:1500)*(-0.55901699437494745126d0)
sp(701:800)=psp(701:800)*(-6.27495019900556627590d0)+psp(1201:1300
$)*2.09165006633518890666d0
sp(801:900)=psp(401:500)*0.73950997288745201619d0+psp(1101:1200)*(
$-4.43705983732471231917d0)+psp(1401:1500)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*100
do ki=1,100
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
gpg(1:45)=psp(136:180)+zab*psp(1:45)
gpg(46:81)=psp(190:225)+zab*psp(46:81)
gpg(82:108)=psp(235:261)+zab*psp(82:108)
gpg(109:126)=psp(271:288)+zab*psp(109:126)
gpg(127:135)=psp(298:306)+zab*psp(127:135)
gpg(136:180)=psp(145:189)+yab*psp(1:45)
gpg(181:216)=psp(199:234)+yab*psp(46:81)
gpg(217:243)=psp(244:270)+yab*psp(82:108)
gpg(244:261)=psp(280:297)+yab*psp(109:126)
gpg(262:270)=psp(307:315)+yab*psp(127:135)
gpg(271:405)=psp(190:324)+xab*psp(1:135)
hpg(1:54)=psp(325:378)+zab*psp(136:189)
hpg(55:99)=psp(388:432)+zab*psp(190:234)
hpg(100:135)=psp(442:477)+zab*psp(235:270)
hpg(136:162)=psp(487:513)+zab*psp(271:297)
hpg(163:180)=psp(523:540)+zab*psp(298:315)
hpg(181:189)=psp(550:558)+zab*psp(316:324)
hpg(190:243)=psp(334:387)+yab*psp(136:189)
hpg(244:288)=psp(397:441)+yab*psp(190:234)
hpg(289:324)=psp(451:486)+yab*psp(235:270)
hpg(325:351)=psp(496:522)+yab*psp(271:297)
hpg(352:369)=psp(532:549)+yab*psp(298:315)
hpg(370:378)=psp(559:567)+yab*psp(316:324)
hpg(379:567)=psp(388:576)+xab*psp(136:324)
ipg(1:63)=psp(577:639)+zab*psp(325:387)
ipg(64:117)=psp(649:702)+zab*psp(388:441)
ipg(118:162)=psp(712:756)+zab*psp(442:486)
ipg(163:198)=psp(766:801)+zab*psp(487:522)
ipg(199:225)=psp(811:837)+zab*psp(523:549)
ipg(226:243)=psp(847:864)+zab*psp(550:567)
ipg(244:252)=psp(874:882)+zab*psp(568:576)
ipg(253:315)=psp(586:648)+yab*psp(325:387)
ipg(316:369)=psp(658:711)+yab*psp(388:441)
ipg(370:414)=psp(721:765)+yab*psp(442:486)
ipg(415:450)=psp(775:810)+yab*psp(487:522)
ipg(451:477)=psp(820:846)+yab*psp(523:549)
ipg(478:495)=psp(856:873)+yab*psp(550:567)
ipg(496:504)=psp(883:891)+yab*psp(568:576)
ipg(505:756)=psp(649:900)+xab*psp(325:576)
gdg(1:45)=hpg(1:45)+zab*gpg(1:45)
gdg(46:81)=hpg(55:90)+zab*gpg(46:81)
gdg(82:108)=hpg(100:126)+zab*gpg(82:108)
gdg(109:126)=hpg(136:153)+zab*gpg(109:126)
gdg(127:135)=hpg(163:171)+zab*gpg(127:135)
gdg(271:315)=hpg(199:243)+yab*gpg(136:180)
gdg(316:351)=hpg(253:288)+yab*gpg(181:216)
gdg(352:378)=hpg(298:324)+yab*gpg(217:243)
gdg(379:396)=hpg(334:351)+yab*gpg(244:261)
gdg(397:405)=hpg(361:369)+yab*gpg(262:270)
gdg(541:585)=hpg(388:432)+yab*gpg(271:315)
gdg(586:621)=hpg(442:477)+yab*gpg(316:351)
gdg(622:648)=hpg(487:513)+yab*gpg(352:378)
gdg(649:666)=hpg(523:540)+yab*gpg(379:396)
gdg(667:675)=hpg(550:558)+yab*gpg(397:405)
gdg(676:810)=hpg(433:567)+xab*gpg(271:405)
hdg(1:54)=ipg(1:54)+zab*hpg(1:54)
hdg(55:99)=ipg(64:108)+zab*hpg(55:99)
hdg(100:135)=ipg(118:153)+zab*hpg(100:135)
hdg(136:162)=ipg(163:189)+zab*hpg(136:162)
hdg(163:180)=ipg(199:216)+zab*hpg(163:180)
hdg(181:189)=ipg(226:234)+zab*hpg(181:189)
hdg(379:432)=ipg(262:315)+yab*hpg(190:243)
hdg(433:477)=ipg(325:369)+yab*hpg(244:288)
hdg(478:513)=ipg(379:414)+yab*hpg(289:324)
hdg(514:540)=ipg(424:450)+yab*hpg(325:351)
hdg(541:558)=ipg(460:477)+yab*hpg(352:369)
hdg(559:567)=ipg(487:495)+yab*hpg(370:378)
hdg(757:810)=ipg(514:567)+yab*hpg(379:432)
hdg(811:855)=ipg(577:621)+yab*hpg(433:477)
hdg(856:891)=ipg(631:666)+yab*hpg(478:513)
hdg(892:918)=ipg(676:702)+yab*hpg(514:540)
hdg(919:936)=ipg(712:729)+yab*hpg(541:558)
hdg(937:945)=ipg(739:747)+yab*hpg(559:567)
hdg(946:1134)=ipg(568:756)+xab*hpg(379:567)
psp(1:45)=hdg(1:45)+zab*gdg(1:45)
psp(46:81)=hdg(55:90)+zab*gdg(46:81)
psp(82:108)=hdg(100:126)+zab*gdg(82:108)
psp(109:126)=hdg(136:153)+zab*gdg(109:126)
psp(127:135)=hdg(163:171)+zab*gdg(127:135)
psp(136:180)=hdg(10:54)+yab*gdg(1:45)
psp(181:216)=hdg(64:99)+yab*gdg(46:81)
psp(217:243)=hdg(109:135)+yab*gdg(82:108)
psp(244:261)=hdg(145:162)+yab*gdg(109:126)
psp(262:270)=hdg(172:180)+yab*gdg(127:135)
psp(271:315)=hdg(379:423)+zab*gdg(271:315)
psp(316:351)=hdg(433:468)+zab*gdg(316:351)
psp(352:378)=hdg(478:504)+zab*gdg(352:378)
psp(379:396)=hdg(514:531)+zab*gdg(379:396)
psp(397:405)=hdg(541:549)+zab*gdg(397:405)
psp(406:450)=hdg(388:432)+yab*gdg(271:315)
psp(451:486)=hdg(442:477)+yab*gdg(316:351)
psp(487:513)=hdg(487:513)+yab*gdg(352:378)
psp(514:531)=hdg(523:540)+yab*gdg(379:396)
psp(532:540)=hdg(550:558)+yab*gdg(397:405)
psp(541:675)=hdg(55:189)+xab*gdg(1:135)
psp(676:720)=hdg(757:801)+zab*gdg(541:585)
psp(721:756)=hdg(811:846)+zab*gdg(586:621)
psp(757:783)=hdg(856:882)+zab*gdg(622:648)
psp(784:801)=hdg(892:909)+zab*gdg(649:666)
psp(802:810)=hdg(919:927)+zab*gdg(667:675)
psp(811:945)=hdg(433:567)+xab*gdg(271:405)
psp(946:990)=hdg(946:990)+zab*gdg(676:720)
psp(991:1026)=hdg(1000:1035)+zab*gdg(721:756)
psp(1027:1053)=hdg(1045:1071)+zab*gdg(757:783)
psp(1054:1071)=hdg(1081:1098)+zab*gdg(784:801)
psp(1072:1080)=hdg(1108:1116)+zab*gdg(802:810)
psp(1081:1125)=hdg(955:999)+yab*gdg(676:720)
psp(1126:1161)=hdg(1009:1044)+yab*gdg(721:756)
psp(1162:1188)=hdg(1054:1080)+yab*gdg(757:783)
psp(1189:1206)=hdg(1090:1107)+yab*gdg(784:801)
psp(1207:1215)=hdg(1117:1125)+yab*gdg(802:810)
psp(1216:1350)=hdg(1000:1134)+xab*gdg(676:810)
sp(1:135)=psp(406:540)*(-0.79056941504209476967d0)+psp(1081:1215)*
$2.37170824512628453107d0
sp(136:270)=psp(676:810)*3.87298334620741657730d0
sp(271:405)=psp(136:270)*2.44948974278317788134d0+psp(406:540)*(-0
$.61237243569579447033d0)+psp(1081:1215)*(-0.61237243569579447033d0
$)
sp(406:540)=psp(1:135)+psp(271:405)*(-1.50000000000000000000d0)+ps
$p(946:1080)*(-1.50000000000000000000d0)
sp(541:675)=psp(541:675)*2.44948974278317788134d0+psp(811:945)*(-0
$.61237243569579447033d0)+psp(1216:1350)*(-0.61237243569579447033d0
$)
sp(676:810)=psp(271:405)*(-1.93649167310370828865d0)+psp(946:1080)
$*1.93649167310370828865d0
sp(811:945)=psp(811:945)*(-2.37170824512628453107d0)+psp(1216:1350
$)*0.79056941504209476967d0
do ji=0,6
ki=ji*135
jk=ji*9
do ii=0,14
k=ii*9
il=ii*63
do ik=1,9
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:63)=psp(505:567)*(-2.95803989154980806475d0)+psp(820:882)*2.9
$5803989154980806475d0
sp(64:126)=psp(190:252)*(-2.09165006633518890666d0)+psp(631:693)*6
$.27495019900556627590d0
sp(127:189)=psp(379:441)*6.70820393249936941515d0+psp(505:567)*(-1
$.11803398874989490253d0)+psp(820:882)*(-1.11803398874989490253d0)
sp(190:252)=psp(64:126)*3.16227766016837907870d0+psp(190:252)*(-2.
$37170824512628453107d0)+psp(631:693)*(-2.37170824512628453107d0)
sp(253:315)=psp(1:63)+psp(127:189)*(-3.00000000000000000000d0)+psp
$(253:315)*0.37500000000000000000d0+psp(568:630)*(-3.00000000000000
$000000d0)+psp(694:756)*0.75000000000000000000d0+psp(883:945)*0.375
$00000000000000000d0
sp(316:378)=psp(316:378)*3.16227766016837907870d0+psp(442:504)*(-2
$.37170824512628453107d0)+psp(757:819)*(-2.37170824512628453107d0)
sp(379:441)=psp(127:189)*(-3.35410196624968470758d0)+psp(253:315)*
$0.55901699437494745126d0+psp(568:630)*3.35410196624968470758d0+psp
$(883:945)*(-0.55901699437494745126d0)
sp(442:504)=psp(442:504)*(-6.27495019900556627590d0)+psp(757:819)*
$2.09165006633518890666d0
sp(505:567)=psp(253:315)*0.73950997288745201619d0+psp(694:756)*(-4
$.43705983732471231917d0)+psp(883:945)*0.73950997288745201619d0
return
end
subroutine hrrspher_gfh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1650),psp(2100)
real*8 gph(495),hph(693),iph(924),gdh(990),hdh(1386),xab,yab,zab
sp(1:100)=psp(501:600)*0.70156076002011391601d0+psp(1401:1500)*(-7
$.01560760020113871605d0)+psp(1901:2000)*3.50780380010056935802d0
sp(101:200)=psp(901:1000)*(-8.87411967464942463835d0)+psp(1601:170
$0)*8.87411967464942463835d0
sp(201:300)=psp(301:400)*(-4.18330013267037692515d0)+psp(501:600)*
$0.52291251658379711564d0+psp(1201:1300)*12.54990039801113255180d0+
$psp(1401:1500)*(-1.04582503316759423129d0)+psp(1901:2000)*(-1.5687
$3754975139156898d0)
sp(301:400)=psp(701:800)*10.24695076595959974952d0+psp(901:1000)*(
$-5.12347538297979987476d0)+psp(1601:1700)*(-5.12347538297979987476
$d0)
sp(401:500)=psp(101:200)*3.87298334620741613321d0+psp(301:400)*(-5
$.80947501931112419982d0)+psp(501:600)*0.48412291827592701665d0+psp
$(1201:1300)*(-5.80947501931112419982d0)+psp(1401:1500)*0.968245836
$55185403330d0+psp(1901:2000)*0.48412291827592701665d0
sp(501:600)=psp(1:100)+psp(201:300)*(-5.00000000000000000000d0)+ps
$p(401:500)*1.87500000000000000000d0+psp(1101:1200)*(-5.00000000000
$000000000d0)+psp(1301:1400)*3.75000000000000000000d0+psp(1801:1900
$)*1.87500000000000000000d0
sp(601:700)=psp(601:700)*3.87298334620741613321d0+psp(801:900)*(-5
$.80947501931112419982d0)+psp(1001:1100)*0.48412291827592701665d0+p
$sp(1501:1600)*(-5.80947501931112419982d0)+psp(1701:1800)*0.9682458
$3655185403330d0+psp(2001:2100)*0.48412291827592701665d0
sp(701:800)=psp(201:300)*(-5.12347538297979987476d0)+psp(401:500)*
$2.56173769148989993738d0+psp(1101:1200)*5.12347538297979987476d0+p
$sp(1801:1900)*(-2.56173769148989993738d0)
sp(801:900)=psp(801:900)*(-12.54990039801113255180d0)+psp(1001:110
$0)*1.56873754975139156898d0+psp(1501:1600)*4.18330013267037692515d
$0+psp(1701:1800)*1.04582503316759423129d0+psp(2001:2100)*(-0.52291
$251658379711564d0)
sp(901:1000)=psp(401:500)*2.21852991866235615959d0+psp(1301:1400)*
$(-13.31117951197413695752d0)+psp(1801:1900)*2.21852991866235615959
$d0
sp(1001:1100)=psp(1001:1100)*3.50780380010056935802d0+psp(1701:180
$0)*(-7.01560760020113871605d0)+psp(2001:2100)*0.701560760020113916
$01d0
do ii=1,11
ji=(ii-1)*100
do ki=1,100
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
gph(1:55)=psp(166:220)+zab*psp(1:55)
gph(56:99)=psp(232:275)+zab*psp(56:99)
gph(100:132)=psp(287:319)+zab*psp(100:132)
gph(133:154)=psp(331:352)+zab*psp(133:154)
gph(155:165)=psp(364:374)+zab*psp(155:165)
gph(166:220)=psp(177:231)+yab*psp(1:55)
gph(221:264)=psp(243:286)+yab*psp(56:99)
gph(265:297)=psp(298:330)+yab*psp(100:132)
gph(298:319)=psp(342:363)+yab*psp(133:154)
gph(320:330)=psp(375:385)+yab*psp(155:165)
gph(331:495)=psp(232:396)+xab*psp(1:165)
hph(1:66)=psp(397:462)+zab*psp(166:231)
hph(67:121)=psp(474:528)+zab*psp(232:286)
hph(122:165)=psp(540:583)+zab*psp(287:330)
hph(166:198)=psp(595:627)+zab*psp(331:363)
hph(199:220)=psp(639:660)+zab*psp(364:385)
hph(221:231)=psp(672:682)+zab*psp(386:396)
hph(232:297)=psp(408:473)+yab*psp(166:231)
hph(298:352)=psp(485:539)+yab*psp(232:286)
hph(353:396)=psp(551:594)+yab*psp(287:330)
hph(397:429)=psp(606:638)+yab*psp(331:363)
hph(430:451)=psp(650:671)+yab*psp(364:385)
hph(452:462)=psp(683:693)+yab*psp(386:396)
hph(463:693)=psp(474:704)+xab*psp(166:396)
iph(1:77)=psp(705:781)+zab*psp(397:473)
iph(78:143)=psp(793:858)+zab*psp(474:539)
iph(144:198)=psp(870:924)+zab*psp(540:594)
iph(199:242)=psp(936:979)+zab*psp(595:638)
iph(243:275)=psp(991:1023)+zab*psp(639:671)
iph(276:297)=psp(1035:1056)+zab*psp(672:693)
iph(298:308)=psp(1068:1078)+zab*psp(694:704)
iph(309:385)=psp(716:792)+yab*psp(397:473)
iph(386:451)=psp(804:869)+yab*psp(474:539)
iph(452:506)=psp(881:935)+yab*psp(540:594)
iph(507:550)=psp(947:990)+yab*psp(595:638)
iph(551:583)=psp(1002:1034)+yab*psp(639:671)
iph(584:605)=psp(1046:1067)+yab*psp(672:693)
iph(606:616)=psp(1079:1089)+yab*psp(694:704)
iph(617:924)=psp(793:1100)+xab*psp(397:704)
gdh(1:55)=hph(1:55)+zab*gph(1:55)
gdh(56:99)=hph(67:110)+zab*gph(56:99)
gdh(100:132)=hph(122:154)+zab*gph(100:132)
gdh(133:154)=hph(166:187)+zab*gph(133:154)
gdh(155:165)=hph(199:209)+zab*gph(155:165)
gdh(331:385)=hph(243:297)+yab*gph(166:220)
gdh(386:429)=hph(309:352)+yab*gph(221:264)
gdh(430:462)=hph(364:396)+yab*gph(265:297)
gdh(463:484)=hph(408:429)+yab*gph(298:319)
gdh(485:495)=hph(441:451)+yab*gph(320:330)
gdh(661:715)=hph(474:528)+yab*gph(331:385)
gdh(716:759)=hph(540:583)+yab*gph(386:429)
gdh(760:792)=hph(595:627)+yab*gph(430:462)
gdh(793:814)=hph(639:660)+yab*gph(463:484)
gdh(815:825)=hph(672:682)+yab*gph(485:495)
gdh(826:990)=hph(529:693)+xab*gph(331:495)
hdh(1:66)=iph(1:66)+zab*hph(1:66)
hdh(67:121)=iph(78:132)+zab*hph(67:121)
hdh(122:165)=iph(144:187)+zab*hph(122:165)
hdh(166:198)=iph(199:231)+zab*hph(166:198)
hdh(199:220)=iph(243:264)+zab*hph(199:220)
hdh(221:231)=iph(276:286)+zab*hph(221:231)
hdh(463:528)=iph(320:385)+yab*hph(232:297)
hdh(529:583)=iph(397:451)+yab*hph(298:352)
hdh(584:627)=iph(463:506)+yab*hph(353:396)
hdh(628:660)=iph(518:550)+yab*hph(397:429)
hdh(661:682)=iph(562:583)+yab*hph(430:451)
hdh(683:693)=iph(595:605)+yab*hph(452:462)
hdh(925:990)=iph(628:693)+yab*hph(463:528)
hdh(991:1045)=iph(705:759)+yab*hph(529:583)
hdh(1046:1089)=iph(771:814)+yab*hph(584:627)
hdh(1090:1122)=iph(826:858)+yab*hph(628:660)
hdh(1123:1144)=iph(870:891)+yab*hph(661:682)
hdh(1145:1155)=iph(903:913)+yab*hph(683:693)
hdh(1156:1386)=iph(694:924)+xab*hph(463:693)
psp(1:55)=hdh(1:55)+zab*gdh(1:55)
psp(56:99)=hdh(67:110)+zab*gdh(56:99)
psp(100:132)=hdh(122:154)+zab*gdh(100:132)
psp(133:154)=hdh(166:187)+zab*gdh(133:154)
psp(155:165)=hdh(199:209)+zab*gdh(155:165)
psp(166:220)=hdh(12:66)+yab*gdh(1:55)
psp(221:264)=hdh(78:121)+yab*gdh(56:99)
psp(265:297)=hdh(133:165)+yab*gdh(100:132)
psp(298:319)=hdh(177:198)+yab*gdh(133:154)
psp(320:330)=hdh(210:220)+yab*gdh(155:165)
psp(331:385)=hdh(463:517)+zab*gdh(331:385)
psp(386:429)=hdh(529:572)+zab*gdh(386:429)
psp(430:462)=hdh(584:616)+zab*gdh(430:462)
psp(463:484)=hdh(628:649)+zab*gdh(463:484)
psp(485:495)=hdh(661:671)+zab*gdh(485:495)
psp(496:550)=hdh(474:528)+yab*gdh(331:385)
psp(551:594)=hdh(540:583)+yab*gdh(386:429)
psp(595:627)=hdh(595:627)+yab*gdh(430:462)
psp(628:649)=hdh(639:660)+yab*gdh(463:484)
psp(650:660)=hdh(672:682)+yab*gdh(485:495)
psp(661:825)=hdh(67:231)+xab*gdh(1:165)
psp(826:880)=hdh(925:979)+zab*gdh(661:715)
psp(881:924)=hdh(991:1034)+zab*gdh(716:759)
psp(925:957)=hdh(1046:1078)+zab*gdh(760:792)
psp(958:979)=hdh(1090:1111)+zab*gdh(793:814)
psp(980:990)=hdh(1123:1133)+zab*gdh(815:825)
psp(991:1155)=hdh(529:693)+xab*gdh(331:495)
psp(1156:1210)=hdh(1156:1210)+zab*gdh(826:880)
psp(1211:1254)=hdh(1222:1265)+zab*gdh(881:924)
psp(1255:1287)=hdh(1277:1309)+zab*gdh(925:957)
psp(1288:1309)=hdh(1321:1342)+zab*gdh(958:979)
psp(1310:1320)=hdh(1354:1364)+zab*gdh(980:990)
psp(1321:1375)=hdh(1167:1221)+yab*gdh(826:880)
psp(1376:1419)=hdh(1233:1276)+yab*gdh(881:924)
psp(1420:1452)=hdh(1288:1320)+yab*gdh(925:957)
psp(1453:1474)=hdh(1332:1353)+yab*gdh(958:979)
psp(1475:1485)=hdh(1365:1375)+yab*gdh(980:990)
psp(1486:1650)=hdh(1222:1386)+xab*gdh(826:990)
sp(1:165)=psp(496:660)*(-0.79056941504209476967d0)+psp(1321:1485)*
$2.37170824512628453107d0
sp(166:330)=psp(826:990)*3.87298334620741657730d0
sp(331:495)=psp(166:330)*2.44948974278317788134d0+psp(496:660)*(-0
$.61237243569579447033d0)+psp(1321:1485)*(-0.61237243569579447033d0
$)
sp(496:660)=psp(1:165)+psp(331:495)*(-1.50000000000000000000d0)+ps
$p(1156:1320)*(-1.50000000000000000000d0)
sp(661:825)=psp(661:825)*2.44948974278317788134d0+psp(991:1155)*(-
$0.61237243569579447033d0)+psp(1486:1650)*(-0.61237243569579447033d
$0)
sp(826:990)=psp(331:495)*(-1.93649167310370828865d0)+psp(1156:1320
$)*1.93649167310370828865d0
sp(991:1155)=psp(991:1155)*(-2.37170824512628453107d0)+psp(1486:16
$50)*0.79056941504209476967d0
do ji=0,6
ki=ji*165
jk=ji*11
do ii=0,14
k=ii*11
il=ii*77
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:77)=psp(617:693)*(-2.95803989154980806475d0)+psp(1002:1078)*2
$.95803989154980806475d0
sp(78:154)=psp(232:308)*(-2.09165006633518890666d0)+psp(771:847)*6
$.27495019900556627590d0
sp(155:231)=psp(463:539)*6.70820393249936941515d0+psp(617:693)*(-1
$.11803398874989490253d0)+psp(1002:1078)*(-1.11803398874989490253d0
$)
sp(232:308)=psp(78:154)*3.16227766016837907870d0+psp(232:308)*(-2.
$37170824512628453107d0)+psp(771:847)*(-2.37170824512628453107d0)
sp(309:385)=psp(1:77)+psp(155:231)*(-3.00000000000000000000d0)+psp
$(309:385)*0.37500000000000000000d0+psp(694:770)*(-3.00000000000000
$000000d0)+psp(848:924)*0.75000000000000000000d0+psp(1079:1155)*0.3
$7500000000000000000d0
sp(386:462)=psp(386:462)*3.16227766016837907870d0+psp(540:616)*(-2
$.37170824512628453107d0)+psp(925:1001)*(-2.37170824512628453107d0)
sp(463:539)=psp(155:231)*(-3.35410196624968470758d0)+psp(309:385)*
$0.55901699437494745126d0+psp(694:770)*3.35410196624968470758d0+psp
$(1079:1155)*(-0.55901699437494745126d0)
sp(540:616)=psp(540:616)*(-6.27495019900556627590d0)+psp(925:1001)
$*2.09165006633518890666d0
sp(617:693)=psp(309:385)*0.73950997288745201619d0+psp(848:924)*(-4
$.43705983732471231917d0)+psp(1079:1155)*0.73950997288745201619d0
return
end
subroutine hrrspher_gfi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1950),psp(2800)
real*8 gpi(585),hpi(819),ipi(1092),gdi(1170),hdi(1638),xab,yab,zab
sp(1:100)=psp(1201:1300)*4.03015973628837986809d0+psp(2101:2200)*(
$-13.43386578762789973496d0)+psp(2601:2700)*4.03015973628837986809d
$0
sp(101:200)=psp(501:600)*2.32681380862329012515d0+psp(1601:1700)*(
$-23.26813808623289858701d0)+psp(2301:2400)*11.63406904311639955552
$d0
sp(201:300)=psp(1001:1100)*(-19.84313483298440061731d0)+psp(1201:1
$300)*1.98431348329843992850d0+psp(1901:2000)*19.843134832984400617
$31d0+psp(2601:2700)*(-1.98431348329843992850d0)
sp(301:400)=psp(301:400)*(-7.24568837309471991404d0)+psp(501:600)*
$2.71713313991052007879d0+psp(1401:1500)*21.73706511928419971014d0+
$psp(1601:1700)*(-5.43426627982104015757d0)+psp(2301:2400)*(-8.1513
$9941973155934818d0)
sp(401:500)=psp(801:900)*14.49137674618940074822d0+psp(1001:1100)*
$(-14.49137674618940074822d0)+psp(1201:1300)*0.90571104663683998925
$d0+psp(1901:2000)*(-14.49137674618940074822d0)+psp(2101:2200)*1.81
$142209327367997851d0+psp(2601:2700)*0.90571104663683998925d0
sp(501:600)=psp(101:200)*4.58257569495583982899d0+psp(301:400)*(-1
$1.45643923738959912839d0)+psp(501:600)*2.86410980934739978210d0+ps
$p(1401:1500)*(-11.45643923738959912839d0)+psp(1601:1700)*5.7282196
$1869479956420d0+psp(2301:2400)*2.86410980934739978210d0
sp(601:700)=psp(1:100)+psp(201:300)*(-7.50000000000000000000d0)+ps
$p(401:500)*5.62500000000000000000d0+psp(601:700)*(-0.3125000000000
$0000000d0)+psp(1301:1400)*(-7.50000000000000000000d0)+psp(1501:160
$0)*11.25000000000000000000d0+psp(1701:1800)*(-0.937500000000000000
$00d0)+psp(2201:2300)*5.62500000000000000000d0+psp(2401:2500)*(-0.9
$3750000000000000000d0)+psp(2701:2800)*(-0.31250000000000000000d0)
sp(701:800)=psp(701:800)*4.58257569495583982899d0+psp(901:1000)*(-
$11.45643923738959912839d0)+psp(1101:1200)*2.86410980934739978210d0
$+psp(1801:1900)*(-11.45643923738959912839d0)+psp(2001:2100)*5.7282
$1961869479956420d0+psp(2501:2600)*2.86410980934739978210d0
sp(801:900)=psp(201:300)*(-7.24568837309471991404d0)+psp(401:500)*
$7.24568837309471991404d0+psp(601:700)*(-0.45285552331841999463d0)+
$psp(1301:1400)*7.24568837309471991404d0+psp(1701:1800)*(-0.4528555
$2331841999463d0)+psp(2201:2300)*(-7.24568837309471991404d0)+psp(24
$01:2500)*0.45285552331841999463d0+psp(2701:2800)*0.452855523318419
$99463d0
sp(901:1000)=psp(901:1000)*(-21.73706511928419971014d0)+psp(1101:1
$200)*8.15139941973155934818d0+psp(1801:1900)*7.2456883730947199140
$4d0+psp(2001:2100)*5.43426627982104015757d0+psp(2501:2600)*(-2.717
$13313991052007879d0)
sp(1001:1100)=psp(401:500)*4.96078370824610992429d0+psp(601:700)*(
$-0.49607837082461098133d0)+psp(1501:1600)*(-29.7647022494765991496
$0d0)+psp(1701:1800)*2.48039185412305007716d0+psp(2201:2300)*4.9607
$8370824610992429d0+psp(2401:2500)*2.48039185412305007716d0+psp(270
$1:2800)*(-0.49607837082461098133d0)
sp(1101:1200)=psp(1101:1200)*11.63406904311639955552d0+psp(2001:21
$00)*(-23.26813808623289858701d0)+psp(2501:2600)*2.3268138086232901
$2515d0
sp(1201:1300)=psp(601:700)*(-0.67169328938139605256d0)+psp(1701:18
$00)*10.07539934072089948813d0+psp(2401:2500)*(-10.0753993407208994
$8813d0)+psp(2701:2800)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*100
do ki=1,100
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
gpi(1:65)=psp(196:260)+zab*psp(1:65)
gpi(66:117)=psp(274:325)+zab*psp(66:117)
gpi(118:156)=psp(339:377)+zab*psp(118:156)
gpi(157:182)=psp(391:416)+zab*psp(157:182)
gpi(183:195)=psp(430:442)+zab*psp(183:195)
gpi(196:260)=psp(209:273)+yab*psp(1:65)
gpi(261:312)=psp(287:338)+yab*psp(66:117)
gpi(313:351)=psp(352:390)+yab*psp(118:156)
gpi(352:377)=psp(404:429)+yab*psp(157:182)
gpi(378:390)=psp(443:455)+yab*psp(183:195)
gpi(391:585)=psp(274:468)+xab*psp(1:195)
hpi(1:78)=psp(469:546)+zab*psp(196:273)
hpi(79:143)=psp(560:624)+zab*psp(274:338)
hpi(144:195)=psp(638:689)+zab*psp(339:390)
hpi(196:234)=psp(703:741)+zab*psp(391:429)
hpi(235:260)=psp(755:780)+zab*psp(430:455)
hpi(261:273)=psp(794:806)+zab*psp(456:468)
hpi(274:351)=psp(482:559)+yab*psp(196:273)
hpi(352:416)=psp(573:637)+yab*psp(274:338)
hpi(417:468)=psp(651:702)+yab*psp(339:390)
hpi(469:507)=psp(716:754)+yab*psp(391:429)
hpi(508:533)=psp(768:793)+yab*psp(430:455)
hpi(534:546)=psp(807:819)+yab*psp(456:468)
hpi(547:819)=psp(560:832)+xab*psp(196:468)
ipi(1:91)=psp(833:923)+zab*psp(469:559)
ipi(92:169)=psp(937:1014)+zab*psp(560:637)
ipi(170:234)=psp(1028:1092)+zab*psp(638:702)
ipi(235:286)=psp(1106:1157)+zab*psp(703:754)
ipi(287:325)=psp(1171:1209)+zab*psp(755:793)
ipi(326:351)=psp(1223:1248)+zab*psp(794:819)
ipi(352:364)=psp(1262:1274)+zab*psp(820:832)
ipi(365:455)=psp(846:936)+yab*psp(469:559)
ipi(456:533)=psp(950:1027)+yab*psp(560:637)
ipi(534:598)=psp(1041:1105)+yab*psp(638:702)
ipi(599:650)=psp(1119:1170)+yab*psp(703:754)
ipi(651:689)=psp(1184:1222)+yab*psp(755:793)
ipi(690:715)=psp(1236:1261)+yab*psp(794:819)
ipi(716:728)=psp(1275:1287)+yab*psp(820:832)
ipi(729:1092)=psp(937:1300)+xab*psp(469:832)
gdi(1:65)=hpi(1:65)+zab*gpi(1:65)
gdi(66:117)=hpi(79:130)+zab*gpi(66:117)
gdi(118:156)=hpi(144:182)+zab*gpi(118:156)
gdi(157:182)=hpi(196:221)+zab*gpi(157:182)
gdi(183:195)=hpi(235:247)+zab*gpi(183:195)
gdi(391:455)=hpi(287:351)+yab*gpi(196:260)
gdi(456:507)=hpi(365:416)+yab*gpi(261:312)
gdi(508:546)=hpi(430:468)+yab*gpi(313:351)
gdi(547:572)=hpi(482:507)+yab*gpi(352:377)
gdi(573:585)=hpi(521:533)+yab*gpi(378:390)
gdi(781:845)=hpi(560:624)+yab*gpi(391:455)
gdi(846:897)=hpi(638:689)+yab*gpi(456:507)
gdi(898:936)=hpi(703:741)+yab*gpi(508:546)
gdi(937:962)=hpi(755:780)+yab*gpi(547:572)
gdi(963:975)=hpi(794:806)+yab*gpi(573:585)
gdi(976:1170)=hpi(625:819)+xab*gpi(391:585)
hdi(1:78)=ipi(1:78)+zab*hpi(1:78)
hdi(79:143)=ipi(92:156)+zab*hpi(79:143)
hdi(144:195)=ipi(170:221)+zab*hpi(144:195)
hdi(196:234)=ipi(235:273)+zab*hpi(196:234)
hdi(235:260)=ipi(287:312)+zab*hpi(235:260)
hdi(261:273)=ipi(326:338)+zab*hpi(261:273)
hdi(547:624)=ipi(378:455)+yab*hpi(274:351)
hdi(625:689)=ipi(469:533)+yab*hpi(352:416)
hdi(690:741)=ipi(547:598)+yab*hpi(417:468)
hdi(742:780)=ipi(612:650)+yab*hpi(469:507)
hdi(781:806)=ipi(664:689)+yab*hpi(508:533)
hdi(807:819)=ipi(703:715)+yab*hpi(534:546)
hdi(1093:1170)=ipi(742:819)+yab*hpi(547:624)
hdi(1171:1235)=ipi(833:897)+yab*hpi(625:689)
hdi(1236:1287)=ipi(911:962)+yab*hpi(690:741)
hdi(1288:1326)=ipi(976:1014)+yab*hpi(742:780)
hdi(1327:1352)=ipi(1028:1053)+yab*hpi(781:806)
hdi(1353:1365)=ipi(1067:1079)+yab*hpi(807:819)
hdi(1366:1638)=ipi(820:1092)+xab*hpi(547:819)
psp(1:65)=hdi(1:65)+zab*gdi(1:65)
psp(66:117)=hdi(79:130)+zab*gdi(66:117)
psp(118:156)=hdi(144:182)+zab*gdi(118:156)
psp(157:182)=hdi(196:221)+zab*gdi(157:182)
psp(183:195)=hdi(235:247)+zab*gdi(183:195)
psp(196:260)=hdi(14:78)+yab*gdi(1:65)
psp(261:312)=hdi(92:143)+yab*gdi(66:117)
psp(313:351)=hdi(157:195)+yab*gdi(118:156)
psp(352:377)=hdi(209:234)+yab*gdi(157:182)
psp(378:390)=hdi(248:260)+yab*gdi(183:195)
psp(391:455)=hdi(547:611)+zab*gdi(391:455)
psp(456:507)=hdi(625:676)+zab*gdi(456:507)
psp(508:546)=hdi(690:728)+zab*gdi(508:546)
psp(547:572)=hdi(742:767)+zab*gdi(547:572)
psp(573:585)=hdi(781:793)+zab*gdi(573:585)
psp(586:650)=hdi(560:624)+yab*gdi(391:455)
psp(651:702)=hdi(638:689)+yab*gdi(456:507)
psp(703:741)=hdi(703:741)+yab*gdi(508:546)
psp(742:767)=hdi(755:780)+yab*gdi(547:572)
psp(768:780)=hdi(794:806)+yab*gdi(573:585)
psp(781:975)=hdi(79:273)+xab*gdi(1:195)
psp(976:1040)=hdi(1093:1157)+zab*gdi(781:845)
psp(1041:1092)=hdi(1171:1222)+zab*gdi(846:897)
psp(1093:1131)=hdi(1236:1274)+zab*gdi(898:936)
psp(1132:1157)=hdi(1288:1313)+zab*gdi(937:962)
psp(1158:1170)=hdi(1327:1339)+zab*gdi(963:975)
psp(1171:1365)=hdi(625:819)+xab*gdi(391:585)
psp(1366:1430)=hdi(1366:1430)+zab*gdi(976:1040)
psp(1431:1482)=hdi(1444:1495)+zab*gdi(1041:1092)
psp(1483:1521)=hdi(1509:1547)+zab*gdi(1093:1131)
psp(1522:1547)=hdi(1561:1586)+zab*gdi(1132:1157)
psp(1548:1560)=hdi(1600:1612)+zab*gdi(1158:1170)
psp(1561:1625)=hdi(1379:1443)+yab*gdi(976:1040)
psp(1626:1677)=hdi(1457:1508)+yab*gdi(1041:1092)
psp(1678:1716)=hdi(1522:1560)+yab*gdi(1093:1131)
psp(1717:1742)=hdi(1574:1599)+yab*gdi(1132:1157)
psp(1743:1755)=hdi(1613:1625)+yab*gdi(1158:1170)
psp(1756:1950)=hdi(1444:1638)+xab*gdi(976:1170)
sp(1:195)=psp(586:780)*(-0.79056941504209476967d0)+psp(1561:1755)*
$2.37170824512628453107d0
sp(196:390)=psp(976:1170)*3.87298334620741657730d0
sp(391:585)=psp(196:390)*2.44948974278317788134d0+psp(586:780)*(-0
$.61237243569579447033d0)+psp(1561:1755)*(-0.61237243569579447033d0
$)
sp(586:780)=psp(1:195)+psp(391:585)*(-1.50000000000000000000d0)+ps
$p(1366:1560)*(-1.50000000000000000000d0)
sp(781:975)=psp(781:975)*2.44948974278317788134d0+psp(1171:1365)*(
$-0.61237243569579447033d0)+psp(1756:1950)*(-0.61237243569579447033
$d0)
sp(976:1170)=psp(391:585)*(-1.93649167310370828865d0)+psp(1366:156
$0)*1.93649167310370828865d0
sp(1171:1365)=psp(1171:1365)*(-2.37170824512628453107d0)+psp(1756:
$1950)*0.79056941504209476967d0
do ji=0,6
ki=ji*195
jk=ji*13
do ii=0,14
k=ii*13
il=ii*91
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:91)=psp(729:819)*(-2.95803989154980806475d0)+psp(1184:1274)*2
$.95803989154980806475d0
sp(92:182)=psp(274:364)*(-2.09165006633518890666d0)+psp(911:1001)*
$6.27495019900556627590d0
sp(183:273)=psp(547:637)*6.70820393249936941515d0+psp(729:819)*(-1
$.11803398874989490253d0)+psp(1184:1274)*(-1.11803398874989490253d0
$)
sp(274:364)=psp(92:182)*3.16227766016837907870d0+psp(274:364)*(-2.
$37170824512628453107d0)+psp(911:1001)*(-2.37170824512628453107d0)
sp(365:455)=psp(1:91)+psp(183:273)*(-3.00000000000000000000d0)+psp
$(365:455)*0.37500000000000000000d0+psp(820:910)*(-3.00000000000000
$000000d0)+psp(1002:1092)*0.75000000000000000000d0+psp(1275:1365)*0
$.37500000000000000000d0
sp(456:546)=psp(456:546)*3.16227766016837907870d0+psp(638:728)*(-2
$.37170824512628453107d0)+psp(1093:1183)*(-2.37170824512628453107d0
$)
sp(547:637)=psp(183:273)*(-3.35410196624968470758d0)+psp(365:455)*
$0.55901699437494745126d0+psp(820:910)*3.35410196624968470758d0+psp
$(1275:1365)*(-0.55901699437494745126d0)
sp(638:728)=psp(638:728)*(-6.27495019900556627590d0)+psp(1093:1183
$)*2.09165006633518890666d0
sp(729:819)=psp(365:455)*0.73950997288745201619d0+psp(1002:1092)*(
$-4.43705983732471231917d0)+psp(1275:1365)*0.73950997288745201619d0
return
end
subroutine hrrspher_ggs_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(225),psp(145)
real*8 psp2(225)
real*8 gps(45),hps(63),ips(84),kps(108),gds(90),hds(126),ids(168),
$gfs(150),hfs(210),xab,yab,zab
gps(1:5)=psp(16:20)+zab*psp(1:5)
gps(6:9)=psp(22:25)+zab*psp(6:9)
gps(10:12)=psp(27:29)+zab*psp(10:12)
gps(13:14)=psp(31:32)+zab*psp(13:14)
gps(15)=psp(34)+zab*psp(15)
gps(16:20)=psp(17:21)+yab*psp(1:5)
gps(21:24)=psp(23:26)+yab*psp(6:9)
gps(25:27)=psp(28:30)+yab*psp(10:12)
gps(28:29)=psp(32:33)+yab*psp(13:14)
gps(30)=psp(35)+yab*psp(15)
gps(31:45)=psp(22:36)+xab*psp(1:15)
hps(1:6)=psp(37:42)+zab*psp(16:21)
hps(7:11)=psp(44:48)+zab*psp(22:26)
hps(12:15)=psp(50:53)+zab*psp(27:30)
hps(16:18)=psp(55:57)+zab*psp(31:33)
hps(19:20)=psp(59:60)+zab*psp(34:35)
hps(21)=psp(62)+zab*psp(36)
hps(22:27)=psp(38:43)+yab*psp(16:21)
hps(28:32)=psp(45:49)+yab*psp(22:26)
hps(33:36)=psp(51:54)+yab*psp(27:30)
hps(37:39)=psp(56:58)+yab*psp(31:33)
hps(40:41)=psp(60:61)+yab*psp(34:35)
hps(42)=psp(63)+yab*psp(36)
hps(43:63)=psp(44:64)+xab*psp(16:36)
ips(1:7)=psp(65:71)+zab*psp(37:43)
ips(8:13)=psp(73:78)+zab*psp(44:49)
ips(14:18)=psp(80:84)+zab*psp(50:54)
ips(19:22)=psp(86:89)+zab*psp(55:58)
ips(23:25)=psp(91:93)+zab*psp(59:61)
ips(26:27)=psp(95:96)+zab*psp(62:63)
ips(28)=psp(98)+zab*psp(64)
ips(29:35)=psp(66:72)+yab*psp(37:43)
ips(36:41)=psp(74:79)+yab*psp(44:49)
ips(42:46)=psp(81:85)+yab*psp(50:54)
ips(47:50)=psp(87:90)+yab*psp(55:58)
ips(51:53)=psp(92:94)+yab*psp(59:61)
ips(54:55)=psp(96:97)+yab*psp(62:63)
ips(56)=psp(99)+yab*psp(64)
ips(57:84)=psp(73:100)+xab*psp(37:64)
kps(1:8)=psp(101:108)+zab*psp(65:72)
kps(9:15)=psp(110:116)+zab*psp(73:79)
kps(16:21)=psp(118:123)+zab*psp(80:85)
kps(22:26)=psp(125:129)+zab*psp(86:90)
kps(27:30)=psp(131:134)+zab*psp(91:94)
kps(31:33)=psp(136:138)+zab*psp(95:97)
kps(34:35)=psp(140:141)+zab*psp(98:99)
kps(36)=psp(143)+zab*psp(100)
kps(37:44)=psp(102:109)+yab*psp(65:72)
kps(45:51)=psp(111:117)+yab*psp(73:79)
kps(52:57)=psp(119:124)+yab*psp(80:85)
kps(58:62)=psp(126:130)+yab*psp(86:90)
kps(63:66)=psp(132:135)+yab*psp(91:94)
kps(67:69)=psp(137:139)+yab*psp(95:97)
kps(70:71)=psp(141:142)+yab*psp(98:99)
kps(72)=psp(144)+yab*psp(100)
kps(73:108)=psp(110:145)+xab*psp(65:100)
gds(1:5)=hps(1:5)+zab*gps(1:5)
gds(6:9)=hps(7:10)+zab*gps(6:9)
gds(10:12)=hps(12:14)+zab*gps(10:12)
gds(13:14)=hps(16:17)+zab*gps(13:14)
gds(15)=hps(19)+zab*gps(15)
gds(31:35)=hps(23:27)+yab*gps(16:20)
gds(36:39)=hps(29:32)+yab*gps(21:24)
gds(40:42)=hps(34:36)+yab*gps(25:27)
gds(43:44)=hps(38:39)+yab*gps(28:29)
gds(45)=hps(41)+yab*gps(30)
gds(76:90)=hps(49:63)+xab*gps(31:45)
hds(1:6)=ips(1:6)+zab*hps(1:6)
hds(7:11)=ips(8:12)+zab*hps(7:11)
hds(12:15)=ips(14:17)+zab*hps(12:15)
hds(16:18)=ips(19:21)+zab*hps(16:18)
hds(19:20)=ips(23:24)+zab*hps(19:20)
hds(21)=ips(26)+zab*hps(21)
hds(43:48)=ips(30:35)+yab*hps(22:27)
hds(49:53)=ips(37:41)+yab*hps(28:32)
hds(54:57)=ips(43:46)+yab*hps(33:36)
hds(58:60)=ips(48:50)+yab*hps(37:39)
hds(61:62)=ips(52:53)+yab*hps(40:41)
hds(63)=ips(55)+yab*hps(42)
hds(106:126)=ips(64:84)+xab*hps(43:63)
ids(1:7)=kps(1:7)+zab*ips(1:7)
ids(8:13)=kps(9:14)+zab*ips(8:13)
ids(14:18)=kps(16:20)+zab*ips(14:18)
ids(19:22)=kps(22:25)+zab*ips(19:22)
ids(23:25)=kps(27:29)+zab*ips(23:25)
ids(26:27)=kps(31:32)+zab*ips(26:27)
ids(28)=kps(34)+zab*ips(28)
ids(57:63)=kps(38:44)+yab*ips(29:35)
ids(64:69)=kps(46:51)+yab*ips(36:41)
ids(70:74)=kps(53:57)+yab*ips(42:46)
ids(75:78)=kps(59:62)+yab*ips(47:50)
ids(79:81)=kps(64:66)+yab*ips(51:53)
ids(82:83)=kps(68:69)+yab*ips(54:55)
ids(84)=kps(71)+yab*ips(56)
ids(141:168)=kps(81:108)+xab*ips(57:84)
gfs(1:5)=hds(1:5)+zab*gds(1:5)
gfs(6:9)=hds(7:10)+zab*gds(6:9)
gfs(10:12)=hds(12:14)+zab*gds(10:12)
gfs(13:14)=hds(16:17)+zab*gds(13:14)
gfs(15)=hds(19)+zab*gds(15)
gfs(16:20)=hds(2:6)+yab*gds(1:5)
gfs(21:24)=hds(8:11)+yab*gds(6:9)
gfs(25:27)=hds(13:15)+yab*gds(10:12)
gfs(28:29)=hds(17:18)+yab*gds(13:14)
gfs(30)=hds(20)+yab*gds(15)
gfs(46:50)=hds(44:48)+yab*gds(31:35)
gfs(51:54)=hds(50:53)+yab*gds(36:39)
gfs(55:57)=hds(55:57)+yab*gds(40:42)
gfs(58:59)=hds(59:60)+yab*gds(43:44)
gfs(60)=hds(62)+yab*gds(45)
gfs(91:105)=hds(49:63)+xab*gds(31:45)
gfs(106:110)=hds(106:110)+zab*gds(76:80)
gfs(111:114)=hds(112:115)+zab*gds(81:84)
gfs(115:117)=hds(117:119)+zab*gds(85:87)
gfs(118:119)=hds(121:122)+zab*gds(88:89)
gfs(120)=hds(124)+zab*gds(90)
gfs(136:150)=hds(112:126)+xab*gds(76:90)
hfs(1:6)=ids(1:6)+zab*hds(1:6)
hfs(7:11)=ids(8:12)+zab*hds(7:11)
hfs(12:15)=ids(14:17)+zab*hds(12:15)
hfs(16:18)=ids(19:21)+zab*hds(16:18)
hfs(19:20)=ids(23:24)+zab*hds(19:20)
hfs(21)=ids(26)+zab*hds(21)
hfs(22:27)=ids(2:7)+yab*hds(1:6)
hfs(28:32)=ids(9:13)+yab*hds(7:11)
hfs(33:36)=ids(15:18)+yab*hds(12:15)
hfs(37:39)=ids(20:22)+yab*hds(16:18)
hfs(40:41)=ids(24:25)+yab*hds(19:20)
hfs(42)=ids(27)+yab*hds(21)
hfs(64:69)=ids(58:63)+yab*hds(43:48)
hfs(70:74)=ids(65:69)+yab*hds(49:53)
hfs(75:78)=ids(71:74)+yab*hds(54:57)
hfs(79:81)=ids(76:78)+yab*hds(58:60)
hfs(82:83)=ids(80:81)+yab*hds(61:62)
hfs(84)=ids(83)+yab*hds(63)
hfs(127:147)=ids(64:84)+xab*hds(43:63)
hfs(148:153)=ids(141:146)+zab*hds(106:111)
hfs(154:158)=ids(148:152)+zab*hds(112:116)
hfs(159:162)=ids(154:157)+zab*hds(117:120)
hfs(163:165)=ids(159:161)+zab*hds(121:123)
hfs(166:167)=ids(163:164)+zab*hds(124:125)
hfs(168)=ids(166)+zab*hds(126)
hfs(190:210)=ids(148:168)+xab*hds(106:126)
psp2(1:5)=hfs(1:5)+zab*gfs(1:5)
psp2(6:9)=hfs(7:10)+zab*gfs(6:9)
psp2(10:12)=hfs(12:14)+zab*gfs(10:12)
psp2(13:14)=hfs(16:17)+zab*gfs(13:14)
psp2(15)=hfs(19)+zab*gfs(15)
psp2(16:20)=hfs(2:6)+yab*gfs(1:5)
psp2(21:24)=hfs(8:11)+yab*gfs(6:9)
psp2(25:27)=hfs(13:15)+yab*gfs(10:12)
psp2(28:29)=hfs(17:18)+yab*gfs(13:14)
psp2(30)=hfs(20)+yab*gfs(15)
psp2(31:35)=hfs(23:27)+yab*gfs(16:20)
psp2(36:39)=hfs(29:32)+yab*gfs(21:24)
psp2(40:42)=hfs(34:36)+yab*gfs(25:27)
psp2(43:44)=hfs(38:39)+yab*gfs(28:29)
psp2(45)=hfs(41)+yab*gfs(30)
psp2(46:50)=hfs(64:68)+zab*gfs(46:50)
psp2(51:54)=hfs(70:73)+zab*gfs(51:54)
psp2(55:57)=hfs(75:77)+zab*gfs(55:57)
psp2(58:59)=hfs(79:80)+zab*gfs(58:59)
psp2(60)=hfs(82)+zab*gfs(60)
psp2(61:65)=hfs(65:69)+yab*gfs(46:50)
psp2(66:69)=hfs(71:74)+yab*gfs(51:54)
psp2(70:72)=hfs(76:78)+yab*gfs(55:57)
psp2(73:74)=hfs(80:81)+yab*gfs(58:59)
psp2(75)=hfs(83)+yab*gfs(60)
psp2(76:90)=hfs(7:21)+xab*gfs(1:15)
psp2(91:105)=hfs(28:42)+xab*gfs(16:30)
psp2(106:110)=hfs(127:131)+zab*gfs(91:95)
psp2(111:114)=hfs(133:136)+zab*gfs(96:99)
psp2(115:117)=hfs(138:140)+zab*gfs(100:102)
psp2(118:119)=hfs(142:143)+zab*gfs(103:104)
psp2(120)=hfs(145)+zab*gfs(105)
psp2(121:135)=hfs(70:84)+xab*gfs(46:60)
psp2(136:140)=hfs(148:152)+zab*gfs(106:110)
psp2(141:144)=hfs(154:157)+zab*gfs(111:114)
psp2(145:147)=hfs(159:161)+zab*gfs(115:117)
psp2(148:149)=hfs(163:164)+zab*gfs(118:119)
psp2(150)=hfs(166)+zab*gfs(120)
psp2(151:155)=hfs(149:153)+yab*gfs(106:110)
psp2(156:159)=hfs(155:158)+yab*gfs(111:114)
psp2(160:162)=hfs(160:162)+yab*gfs(115:117)
psp2(163:164)=hfs(164:165)+yab*gfs(118:119)
psp2(165)=hfs(167)+yab*gfs(120)
psp2(166:180)=hfs(133:147)+xab*gfs(91:105)
psp2(181:185)=hfs(190:194)+zab*gfs(136:140)
psp2(186:189)=hfs(196:199)+zab*gfs(141:144)
psp2(190:192)=hfs(201:203)+zab*gfs(145:147)
psp2(193:194)=hfs(205:206)+zab*gfs(148:149)
psp2(195)=hfs(208)+zab*gfs(150)
psp2(196:200)=hfs(191:195)+yab*gfs(136:140)
psp2(201:204)=hfs(197:200)+yab*gfs(141:144)
psp2(205:207)=hfs(202:204)+yab*gfs(145:147)
psp2(208:209)=hfs(206:207)+yab*gfs(148:149)
psp2(210)=hfs(209)+yab*gfs(150)
psp2(211:225)=hfs(196:210)+xab*gfs(136:150)
sp(1:15)=psp2(121:135)*(-2.95803989154980806475d0)+psp2(196:210)*2
$.95803989154980806475d0
sp(16:30)=psp2(46:60)*(-2.09165006633518890666d0)+psp2(151:165)*6.
$27495019900556627590d0
sp(31:45)=psp2(91:105)*6.70820393249936941515d0+psp2(121:135)*(-1.
$11803398874989490253d0)+psp2(196:210)*(-1.11803398874989490253d0)
sp(46:60)=psp2(16:30)*3.16227766016837907870d0+psp2(46:60)*(-2.371
$70824512628453107d0)+psp2(151:165)*(-2.37170824512628453107d0)
sp(61:75)=psp2(1:15)+psp2(31:45)*(-3.00000000000000000000d0)+psp2(
$61:75)*0.37500000000000000000d0+psp2(136:150)*(-3.0000000000000000
$0000d0)+psp2(166:180)*0.75000000000000000000d0+psp2(211:225)*0.375
$00000000000000000d0
sp(76:90)=psp2(76:90)*3.16227766016837907870d0+psp2(106:120)*(-2.3
$7170824512628453107d0)+psp2(181:195)*(-2.37170824512628453107d0)
sp(91:105)=psp2(31:45)*(-3.35410196624968470758d0)+psp2(61:75)*0.5
$5901699437494745126d0+psp2(136:150)*3.35410196624968470758d0+psp2(
$211:225)*(-0.55901699437494745126d0)
sp(106:120)=psp2(106:120)*(-6.27495019900556627590d0)+psp2(181:195
$)*2.09165006633518890666d0
sp(121:135)=psp2(61:75)*0.73950997288745201619d0+psp2(166:180)*(-4
$.43705983732471231917d0)+psp2(211:225)*0.73950997288745201619d0
do ji=1,15
ii=(ji-1)*9
do ki=1,9
psp2(ii+ki)=sp((ki-1)*15+ji)
enddo
enddo
sp(1:9)=psp2(73:81)*(-2.95803989154980806475d0)+psp2(118:126)*2.95
$803989154980806475d0
sp(10:18)=psp2(28:36)*(-2.09165006633518890666d0)+psp2(91:99)*6.27
$495019900556627590d0
sp(19:27)=psp2(55:63)*6.70820393249936941515d0+psp2(73:81)*(-1.118
$03398874989490253d0)+psp2(118:126)*(-1.11803398874989490253d0)
sp(28:36)=psp2(10:18)*3.16227766016837907870d0+psp2(28:36)*(-2.371
$70824512628453107d0)+psp2(91:99)*(-2.37170824512628453107d0)
sp(37:45)=psp2(1:9)+psp2(19:27)*(-3.00000000000000000000d0)+psp2(3
$7:45)*0.37500000000000000000d0+psp2(82:90)*(-3.0000000000000000000
$0d0)+psp2(100:108)*0.75000000000000000000d0+psp2(127:135)*0.375000
$00000000000000d0
sp(46:54)=psp2(46:54)*3.16227766016837907870d0+psp2(64:72)*(-2.371
$70824512628453107d0)+psp2(109:117)*(-2.37170824512628453107d0)
sp(55:63)=psp2(19:27)*(-3.35410196624968470758d0)+psp2(37:45)*0.55
$901699437494745126d0+psp2(82:90)*3.35410196624968470758d0+psp2(127
$:135)*(-0.55901699437494745126d0)
sp(64:72)=psp2(64:72)*(-6.27495019900556627590d0)+psp2(109:117)*2.
$09165006633518890666d0
sp(73:81)=psp2(37:45)*0.73950997288745201619d0+psp2(100:108)*(-4.4
$3705983732471231917d0)+psp2(127:135)*0.73950997288745201619d0
return
end
subroutine hrrspher_ggp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(675),psp(435)
real*8 psp2(675)
real*8 gpp(135),hpp(189),ipp(252),kpp(324),gdp(270),hdp(378),idp(5
$04),gfp(450),hfp(630),xab,yab,zab
gpp(1:15)=psp(46:60)+zab*psp(1:15)
gpp(16:27)=psp(64:75)+zab*psp(16:27)
gpp(28:36)=psp(79:87)+zab*psp(28:36)
gpp(37:42)=psp(91:96)+zab*psp(37:42)
gpp(43:45)=psp(100:102)+zab*psp(43:45)
gpp(46:60)=psp(49:63)+yab*psp(1:15)
gpp(61:72)=psp(67:78)+yab*psp(16:27)
gpp(73:81)=psp(82:90)+yab*psp(28:36)
gpp(82:87)=psp(94:99)+yab*psp(37:42)
gpp(88:90)=psp(103:105)+yab*psp(43:45)
gpp(91:135)=psp(64:108)+xab*psp(1:45)
hpp(1:18)=psp(109:126)+zab*psp(46:63)
hpp(19:33)=psp(130:144)+zab*psp(64:78)
hpp(34:45)=psp(148:159)+zab*psp(79:90)
hpp(46:54)=psp(163:171)+zab*psp(91:99)
hpp(55:60)=psp(175:180)+zab*psp(100:105)
hpp(61:63)=psp(184:186)+zab*psp(106:108)
hpp(64:81)=psp(112:129)+yab*psp(46:63)
hpp(82:96)=psp(133:147)+yab*psp(64:78)
hpp(97:108)=psp(151:162)+yab*psp(79:90)
hpp(109:117)=psp(166:174)+yab*psp(91:99)
hpp(118:123)=psp(178:183)+yab*psp(100:105)
hpp(124:126)=psp(187:189)+yab*psp(106:108)
hpp(127:189)=psp(130:192)+xab*psp(46:108)
ipp(1:21)=psp(193:213)+zab*psp(109:129)
ipp(22:39)=psp(217:234)+zab*psp(130:147)
ipp(40:54)=psp(238:252)+zab*psp(148:162)
ipp(55:66)=psp(256:267)+zab*psp(163:174)
ipp(67:75)=psp(271:279)+zab*psp(175:183)
ipp(76:81)=psp(283:288)+zab*psp(184:189)
ipp(82:84)=psp(292:294)+zab*psp(190:192)
ipp(85:105)=psp(196:216)+yab*psp(109:129)
ipp(106:123)=psp(220:237)+yab*psp(130:147)
ipp(124:138)=psp(241:255)+yab*psp(148:162)
ipp(139:150)=psp(259:270)+yab*psp(163:174)
ipp(151:159)=psp(274:282)+yab*psp(175:183)
ipp(160:165)=psp(286:291)+yab*psp(184:189)
ipp(166:168)=psp(295:297)+yab*psp(190:192)
ipp(169:252)=psp(217:300)+xab*psp(109:192)
kpp(1:24)=psp(301:324)+zab*psp(193:216)
kpp(25:45)=psp(328:348)+zab*psp(217:237)
kpp(46:63)=psp(352:369)+zab*psp(238:255)
kpp(64:78)=psp(373:387)+zab*psp(256:270)
kpp(79:90)=psp(391:402)+zab*psp(271:282)
kpp(91:99)=psp(406:414)+zab*psp(283:291)
kpp(100:105)=psp(418:423)+zab*psp(292:297)
kpp(106:108)=psp(427:429)+zab*psp(298:300)
kpp(109:132)=psp(304:327)+yab*psp(193:216)
kpp(133:153)=psp(331:351)+yab*psp(217:237)
kpp(154:171)=psp(355:372)+yab*psp(238:255)
kpp(172:186)=psp(376:390)+yab*psp(256:270)
kpp(187:198)=psp(394:405)+yab*psp(271:282)
kpp(199:207)=psp(409:417)+yab*psp(283:291)
kpp(208:213)=psp(421:426)+yab*psp(292:297)
kpp(214:216)=psp(430:432)+yab*psp(298:300)
kpp(217:324)=psp(328:435)+xab*psp(193:300)
gdp(1:15)=hpp(1:15)+zab*gpp(1:15)
gdp(16:27)=hpp(19:30)+zab*gpp(16:27)
gdp(28:36)=hpp(34:42)+zab*gpp(28:36)
gdp(37:42)=hpp(46:51)+zab*gpp(37:42)
gdp(43:45)=hpp(55:57)+zab*gpp(43:45)
gdp(91:105)=hpp(67:81)+yab*gpp(46:60)
gdp(106:117)=hpp(85:96)+yab*gpp(61:72)
gdp(118:126)=hpp(100:108)+yab*gpp(73:81)
gdp(127:132)=hpp(112:117)+yab*gpp(82:87)
gdp(133:135)=hpp(121:123)+yab*gpp(88:90)
gdp(226:270)=hpp(145:189)+xab*gpp(91:135)
hdp(1:18)=ipp(1:18)+zab*hpp(1:18)
hdp(19:33)=ipp(22:36)+zab*hpp(19:33)
hdp(34:45)=ipp(40:51)+zab*hpp(34:45)
hdp(46:54)=ipp(55:63)+zab*hpp(46:54)
hdp(55:60)=ipp(67:72)+zab*hpp(55:60)
hdp(61:63)=ipp(76:78)+zab*hpp(61:63)
hdp(127:144)=ipp(88:105)+yab*hpp(64:81)
hdp(145:159)=ipp(109:123)+yab*hpp(82:96)
hdp(160:171)=ipp(127:138)+yab*hpp(97:108)
hdp(172:180)=ipp(142:150)+yab*hpp(109:117)
hdp(181:186)=ipp(154:159)+yab*hpp(118:123)
hdp(187:189)=ipp(163:165)+yab*hpp(124:126)
hdp(316:378)=ipp(190:252)+xab*hpp(127:189)
idp(1:21)=kpp(1:21)+zab*ipp(1:21)
idp(22:39)=kpp(25:42)+zab*ipp(22:39)
idp(40:54)=kpp(46:60)+zab*ipp(40:54)
idp(55:66)=kpp(64:75)+zab*ipp(55:66)
idp(67:75)=kpp(79:87)+zab*ipp(67:75)
idp(76:81)=kpp(91:96)+zab*ipp(76:81)
idp(82:84)=kpp(100:102)+zab*ipp(82:84)
idp(169:189)=kpp(112:132)+yab*ipp(85:105)
idp(190:207)=kpp(136:153)+yab*ipp(106:123)
idp(208:222)=kpp(157:171)+yab*ipp(124:138)
idp(223:234)=kpp(175:186)+yab*ipp(139:150)
idp(235:243)=kpp(190:198)+yab*ipp(151:159)
idp(244:249)=kpp(202:207)+yab*ipp(160:165)
idp(250:252)=kpp(211:213)+yab*ipp(166:168)
idp(421:504)=kpp(241:324)+xab*ipp(169:252)
gfp(1:15)=hdp(1:15)+zab*gdp(1:15)
gfp(16:27)=hdp(19:30)+zab*gdp(16:27)
gfp(28:36)=hdp(34:42)+zab*gdp(28:36)
gfp(37:42)=hdp(46:51)+zab*gdp(37:42)
gfp(43:45)=hdp(55:57)+zab*gdp(43:45)
gfp(46:60)=hdp(4:18)+yab*gdp(1:15)
gfp(61:72)=hdp(22:33)+yab*gdp(16:27)
gfp(73:81)=hdp(37:45)+yab*gdp(28:36)
gfp(82:87)=hdp(49:54)+yab*gdp(37:42)
gfp(88:90)=hdp(58:60)+yab*gdp(43:45)
gfp(136:150)=hdp(130:144)+yab*gdp(91:105)
gfp(151:162)=hdp(148:159)+yab*gdp(106:117)
gfp(163:171)=hdp(163:171)+yab*gdp(118:126)
gfp(172:177)=hdp(175:180)+yab*gdp(127:132)
gfp(178:180)=hdp(184:186)+yab*gdp(133:135)
gfp(271:315)=hdp(145:189)+xab*gdp(91:135)
gfp(316:330)=hdp(316:330)+zab*gdp(226:240)
gfp(331:342)=hdp(334:345)+zab*gdp(241:252)
gfp(343:351)=hdp(349:357)+zab*gdp(253:261)
gfp(352:357)=hdp(361:366)+zab*gdp(262:267)
gfp(358:360)=hdp(370:372)+zab*gdp(268:270)
gfp(406:450)=hdp(334:378)+xab*gdp(226:270)
hfp(1:18)=idp(1:18)+zab*hdp(1:18)
hfp(19:33)=idp(22:36)+zab*hdp(19:33)
hfp(34:45)=idp(40:51)+zab*hdp(34:45)
hfp(46:54)=idp(55:63)+zab*hdp(46:54)
hfp(55:60)=idp(67:72)+zab*hdp(55:60)
hfp(61:63)=idp(76:78)+zab*hdp(61:63)
hfp(64:81)=idp(4:21)+yab*hdp(1:18)
hfp(82:96)=idp(25:39)+yab*hdp(19:33)
hfp(97:108)=idp(43:54)+yab*hdp(34:45)
hfp(109:117)=idp(58:66)+yab*hdp(46:54)
hfp(118:123)=idp(70:75)+yab*hdp(55:60)
hfp(124:126)=idp(79:81)+yab*hdp(61:63)
hfp(190:207)=idp(172:189)+yab*hdp(127:144)
hfp(208:222)=idp(193:207)+yab*hdp(145:159)
hfp(223:234)=idp(211:222)+yab*hdp(160:171)
hfp(235:243)=idp(226:234)+yab*hdp(172:180)
hfp(244:249)=idp(238:243)+yab*hdp(181:186)
hfp(250:252)=idp(247:249)+yab*hdp(187:189)
hfp(379:441)=idp(190:252)+xab*hdp(127:189)
hfp(442:459)=idp(421:438)+zab*hdp(316:333)
hfp(460:474)=idp(442:456)+zab*hdp(334:348)
hfp(475:486)=idp(460:471)+zab*hdp(349:360)
hfp(487:495)=idp(475:483)+zab*hdp(361:369)
hfp(496:501)=idp(487:492)+zab*hdp(370:375)
hfp(502:504)=idp(496:498)+zab*hdp(376:378)
hfp(568:630)=idp(442:504)+xab*hdp(316:378)
psp2(1:15)=hfp(1:15)+zab*gfp(1:15)
psp2(16:27)=hfp(19:30)+zab*gfp(16:27)
psp2(28:36)=hfp(34:42)+zab*gfp(28:36)
psp2(37:42)=hfp(46:51)+zab*gfp(37:42)
psp2(43:45)=hfp(55:57)+zab*gfp(43:45)
psp2(46:60)=hfp(4:18)+yab*gfp(1:15)
psp2(61:72)=hfp(22:33)+yab*gfp(16:27)
psp2(73:81)=hfp(37:45)+yab*gfp(28:36)
psp2(82:87)=hfp(49:54)+yab*gfp(37:42)
psp2(88:90)=hfp(58:60)+yab*gfp(43:45)
psp2(91:105)=hfp(67:81)+yab*gfp(46:60)
psp2(106:117)=hfp(85:96)+yab*gfp(61:72)
psp2(118:126)=hfp(100:108)+yab*gfp(73:81)
psp2(127:132)=hfp(112:117)+yab*gfp(82:87)
psp2(133:135)=hfp(121:123)+yab*gfp(88:90)
psp2(136:150)=hfp(190:204)+zab*gfp(136:150)
psp2(151:162)=hfp(208:219)+zab*gfp(151:162)
psp2(163:171)=hfp(223:231)+zab*gfp(163:171)
psp2(172:177)=hfp(235:240)+zab*gfp(172:177)
psp2(178:180)=hfp(244:246)+zab*gfp(178:180)
psp2(181:195)=hfp(193:207)+yab*gfp(136:150)
psp2(196:207)=hfp(211:222)+yab*gfp(151:162)
psp2(208:216)=hfp(226:234)+yab*gfp(163:171)
psp2(217:222)=hfp(238:243)+yab*gfp(172:177)
psp2(223:225)=hfp(247:249)+yab*gfp(178:180)
psp2(226:270)=hfp(19:63)+xab*gfp(1:45)
psp2(271:315)=hfp(82:126)+xab*gfp(46:90)
psp2(316:330)=hfp(379:393)+zab*gfp(271:285)
psp2(331:342)=hfp(397:408)+zab*gfp(286:297)
psp2(343:351)=hfp(412:420)+zab*gfp(298:306)
psp2(352:357)=hfp(424:429)+zab*gfp(307:312)
psp2(358:360)=hfp(433:435)+zab*gfp(313:315)
psp2(361:405)=hfp(208:252)+xab*gfp(136:180)
psp2(406:420)=hfp(442:456)+zab*gfp(316:330)
psp2(421:432)=hfp(460:471)+zab*gfp(331:342)
psp2(433:441)=hfp(475:483)+zab*gfp(343:351)
psp2(442:447)=hfp(487:492)+zab*gfp(352:357)
psp2(448:450)=hfp(496:498)+zab*gfp(358:360)
psp2(451:465)=hfp(445:459)+yab*gfp(316:330)
psp2(466:477)=hfp(463:474)+yab*gfp(331:342)
psp2(478:486)=hfp(478:486)+yab*gfp(343:351)
psp2(487:492)=hfp(490:495)+yab*gfp(352:357)
psp2(493:495)=hfp(499:501)+yab*gfp(358:360)
psp2(496:540)=hfp(397:441)+xab*gfp(271:315)
psp2(541:555)=hfp(568:582)+zab*gfp(406:420)
psp2(556:567)=hfp(586:597)+zab*gfp(421:432)
psp2(568:576)=hfp(601:609)+zab*gfp(433:441)
psp2(577:582)=hfp(613:618)+zab*gfp(442:447)
psp2(583:585)=hfp(622:624)+zab*gfp(448:450)
psp2(586:600)=hfp(571:585)+yab*gfp(406:420)
psp2(601:612)=hfp(589:600)+yab*gfp(421:432)
psp2(613:621)=hfp(604:612)+yab*gfp(433:441)
psp2(622:627)=hfp(616:621)+yab*gfp(442:447)
psp2(628:630)=hfp(625:627)+yab*gfp(448:450)
psp2(631:675)=hfp(586:630)+xab*gfp(406:450)
sp(1:45)=psp2(361:405)*(-2.95803989154980806475d0)+psp2(586:630)*2
$.95803989154980806475d0
sp(46:90)=psp2(136:180)*(-2.09165006633518890666d0)+psp2(451:495)*
$6.27495019900556627590d0
sp(91:135)=psp2(271:315)*6.70820393249936941515d0+psp2(361:405)*(-
$1.11803398874989490253d0)+psp2(586:630)*(-1.11803398874989490253d0
$)
sp(136:180)=psp2(46:90)*3.16227766016837907870d0+psp2(136:180)*(-2
$.37170824512628453107d0)+psp2(451:495)*(-2.37170824512628453107d0)
sp(181:225)=psp2(1:45)+psp2(91:135)*(-3.00000000000000000000d0)+ps
$p2(181:225)*0.37500000000000000000d0+psp2(406:450)*(-3.00000000000
$000000000d0)+psp2(496:540)*0.75000000000000000000d0+psp2(631:675)*
$0.37500000000000000000d0
sp(226:270)=psp2(226:270)*3.16227766016837907870d0+psp2(316:360)*(
$-2.37170824512628453107d0)+psp2(541:585)*(-2.37170824512628453107d
$0)
sp(271:315)=psp2(91:135)*(-3.35410196624968470758d0)+psp2(181:225)
$*0.55901699437494745126d0+psp2(406:450)*3.35410196624968470758d0+p
$sp2(631:675)*(-0.55901699437494745126d0)
sp(316:360)=psp2(316:360)*(-6.27495019900556627590d0)+psp2(541:585
$)*2.09165006633518890666d0
sp(361:405)=psp2(181:225)*0.73950997288745201619d0+psp2(496:540)*(
$-4.43705983732471231917d0)+psp2(631:675)*0.73950997288745201619d0
do ji=0,8
ki=ji*45
jk=ji*3
do ii=0,14
k=ii*3
il=ii*27
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:27)=psp2(217:243)*(-2.95803989154980806475d0)+psp2(352:378)*2
$.95803989154980806475d0
sp(28:54)=psp2(82:108)*(-2.09165006633518890666d0)+psp2(271:297)*6
$.27495019900556627590d0
sp(55:81)=psp2(163:189)*6.70820393249936941515d0+psp2(217:243)*(-1
$.11803398874989490253d0)+psp2(352:378)*(-1.11803398874989490253d0)
sp(82:108)=psp2(28:54)*3.16227766016837907870d0+psp2(82:108)*(-2.3
$7170824512628453107d0)+psp2(271:297)*(-2.37170824512628453107d0)
sp(109:135)=psp2(1:27)+psp2(55:81)*(-3.00000000000000000000d0)+psp
$2(109:135)*0.37500000000000000000d0+psp2(244:270)*(-3.000000000000
$00000000d0)+psp2(298:324)*0.75000000000000000000d0+psp2(379:405)*0
$.37500000000000000000d0
sp(136:162)=psp2(136:162)*3.16227766016837907870d0+psp2(190:216)*(
$-2.37170824512628453107d0)+psp2(325:351)*(-2.37170824512628453107d
$0)
sp(163:189)=psp2(55:81)*(-3.35410196624968470758d0)+psp2(109:135)*
$0.55901699437494745126d0+psp2(244:270)*3.35410196624968470758d0+ps
$p2(379:405)*(-0.55901699437494745126d0)
sp(190:216)=psp2(190:216)*(-6.27495019900556627590d0)+psp2(325:351
$)*2.09165006633518890666d0
sp(217:243)=psp2(109:135)*0.73950997288745201619d0+psp2(298:324)*(
$-4.43705983732471231917d0)+psp2(379:405)*0.73950997288745201619d0
return
end
subroutine hrrspher_ggd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1125),psp(870)
real*8 psp2(1125)
real*8 gpd(225),hpd(315),ipd(420),kpd(540),gdd(450),hdd(630),idd(8
$40),gfd(750),hfd(1050),xab,yab,zab
sp(1:145)=psp(581:725)*1.73205080756887697113d0
sp(146:290)=psp(146:290)*1.73205080756887697113d0
sp(291:435)=psp(1:145)+psp(291:435)*(-0.50000000000000000000d0)+ps
$p(726:870)*(-0.50000000000000000000d0)
sp(436:580)=psp(436:580)*1.73205080756887697113d0
sp(581:725)=psp(291:435)*(-0.86602540378443848557d0)+psp(726:870)*
$0.86602540378443848557d0
do ii=1,5
ji=(ii-1)*145
do ki=1,145
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
gpd(1:25)=psp(76:100)+zab*psp(1:25)
gpd(26:45)=psp(106:125)+zab*psp(26:45)
gpd(46:60)=psp(131:145)+zab*psp(46:60)
gpd(61:70)=psp(151:160)+zab*psp(61:70)
gpd(71:75)=psp(166:170)+zab*psp(71:75)
gpd(76:100)=psp(81:105)+yab*psp(1:25)
gpd(101:120)=psp(111:130)+yab*psp(26:45)
gpd(121:135)=psp(136:150)+yab*psp(46:60)
gpd(136:145)=psp(156:165)+yab*psp(61:70)
gpd(146:150)=psp(171:175)+yab*psp(71:75)
gpd(151:225)=psp(106:180)+xab*psp(1:75)
hpd(1:30)=psp(181:210)+zab*psp(76:105)
hpd(31:55)=psp(216:240)+zab*psp(106:130)
hpd(56:75)=psp(246:265)+zab*psp(131:150)
hpd(76:90)=psp(271:285)+zab*psp(151:165)
hpd(91:100)=psp(291:300)+zab*psp(166:175)
hpd(101:105)=psp(306:310)+zab*psp(176:180)
hpd(106:135)=psp(186:215)+yab*psp(76:105)
hpd(136:160)=psp(221:245)+yab*psp(106:130)
hpd(161:180)=psp(251:270)+yab*psp(131:150)
hpd(181:195)=psp(276:290)+yab*psp(151:165)
hpd(196:205)=psp(296:305)+yab*psp(166:175)
hpd(206:210)=psp(311:315)+yab*psp(176:180)
hpd(211:315)=psp(216:320)+xab*psp(76:180)
ipd(1:35)=psp(321:355)+zab*psp(181:215)
ipd(36:65)=psp(361:390)+zab*psp(216:245)
ipd(66:90)=psp(396:420)+zab*psp(246:270)
ipd(91:110)=psp(426:445)+zab*psp(271:290)
ipd(111:125)=psp(451:465)+zab*psp(291:305)
ipd(126:135)=psp(471:480)+zab*psp(306:315)
ipd(136:140)=psp(486:490)+zab*psp(316:320)
ipd(141:175)=psp(326:360)+yab*psp(181:215)
ipd(176:205)=psp(366:395)+yab*psp(216:245)
ipd(206:230)=psp(401:425)+yab*psp(246:270)
ipd(231:250)=psp(431:450)+yab*psp(271:290)
ipd(251:265)=psp(456:470)+yab*psp(291:305)
ipd(266:275)=psp(476:485)+yab*psp(306:315)
ipd(276:280)=psp(491:495)+yab*psp(316:320)
ipd(281:420)=psp(361:500)+xab*psp(181:320)
kpd(1:40)=psp(501:540)+zab*psp(321:360)
kpd(41:75)=psp(546:580)+zab*psp(361:395)
kpd(76:105)=psp(586:615)+zab*psp(396:425)
kpd(106:130)=psp(621:645)+zab*psp(426:450)
kpd(131:150)=psp(651:670)+zab*psp(451:470)
kpd(151:165)=psp(676:690)+zab*psp(471:485)
kpd(166:175)=psp(696:705)+zab*psp(486:495)
kpd(176:180)=psp(711:715)+zab*psp(496:500)
kpd(181:220)=psp(506:545)+yab*psp(321:360)
kpd(221:255)=psp(551:585)+yab*psp(361:395)
kpd(256:285)=psp(591:620)+yab*psp(396:425)
kpd(286:310)=psp(626:650)+yab*psp(426:450)
kpd(311:330)=psp(656:675)+yab*psp(451:470)
kpd(331:345)=psp(681:695)+yab*psp(471:485)
kpd(346:355)=psp(701:710)+yab*psp(486:495)
kpd(356:360)=psp(716:720)+yab*psp(496:500)
kpd(361:540)=psp(546:725)+xab*psp(321:500)
gdd(1:25)=hpd(1:25)+zab*gpd(1:25)
gdd(26:45)=hpd(31:50)+zab*gpd(26:45)
gdd(46:60)=hpd(56:70)+zab*gpd(46:60)
gdd(61:70)=hpd(76:85)+zab*gpd(61:70)
gdd(71:75)=hpd(91:95)+zab*gpd(71:75)
gdd(151:175)=hpd(111:135)+yab*gpd(76:100)
gdd(176:195)=hpd(141:160)+yab*gpd(101:120)
gdd(196:210)=hpd(166:180)+yab*gpd(121:135)
gdd(211:220)=hpd(186:195)+yab*gpd(136:145)
gdd(221:225)=hpd(201:205)+yab*gpd(146:150)
gdd(376:450)=hpd(241:315)+xab*gpd(151:225)
hdd(1:30)=ipd(1:30)+zab*hpd(1:30)
hdd(31:55)=ipd(36:60)+zab*hpd(31:55)
hdd(56:75)=ipd(66:85)+zab*hpd(56:75)
hdd(76:90)=ipd(91:105)+zab*hpd(76:90)
hdd(91:100)=ipd(111:120)+zab*hpd(91:100)
hdd(101:105)=ipd(126:130)+zab*hpd(101:105)
hdd(211:240)=ipd(146:175)+yab*hpd(106:135)
hdd(241:265)=ipd(181:205)+yab*hpd(136:160)
hdd(266:285)=ipd(211:230)+yab*hpd(161:180)
hdd(286:300)=ipd(236:250)+yab*hpd(181:195)
hdd(301:310)=ipd(256:265)+yab*hpd(196:205)
hdd(311:315)=ipd(271:275)+yab*hpd(206:210)
hdd(526:630)=ipd(316:420)+xab*hpd(211:315)
idd(1:35)=kpd(1:35)+zab*ipd(1:35)
idd(36:65)=kpd(41:70)+zab*ipd(36:65)
idd(66:90)=kpd(76:100)+zab*ipd(66:90)
idd(91:110)=kpd(106:125)+zab*ipd(91:110)
idd(111:125)=kpd(131:145)+zab*ipd(111:125)
idd(126:135)=kpd(151:160)+zab*ipd(126:135)
idd(136:140)=kpd(166:170)+zab*ipd(136:140)
idd(281:315)=kpd(186:220)+yab*ipd(141:175)
idd(316:345)=kpd(226:255)+yab*ipd(176:205)
idd(346:370)=kpd(261:285)+yab*ipd(206:230)
idd(371:390)=kpd(291:310)+yab*ipd(231:250)
idd(391:405)=kpd(316:330)+yab*ipd(251:265)
idd(406:415)=kpd(336:345)+yab*ipd(266:275)
idd(416:420)=kpd(351:355)+yab*ipd(276:280)
idd(701:840)=kpd(401:540)+xab*ipd(281:420)
gfd(1:25)=hdd(1:25)+zab*gdd(1:25)
gfd(26:45)=hdd(31:50)+zab*gdd(26:45)
gfd(46:60)=hdd(56:70)+zab*gdd(46:60)
gfd(61:70)=hdd(76:85)+zab*gdd(61:70)
gfd(71:75)=hdd(91:95)+zab*gdd(71:75)
gfd(76:100)=hdd(6:30)+yab*gdd(1:25)
gfd(101:120)=hdd(36:55)+yab*gdd(26:45)
gfd(121:135)=hdd(61:75)+yab*gdd(46:60)
gfd(136:145)=hdd(81:90)+yab*gdd(61:70)
gfd(146:150)=hdd(96:100)+yab*gdd(71:75)
gfd(226:250)=hdd(216:240)+yab*gdd(151:175)
gfd(251:270)=hdd(246:265)+yab*gdd(176:195)
gfd(271:285)=hdd(271:285)+yab*gdd(196:210)
gfd(286:295)=hdd(291:300)+yab*gdd(211:220)
gfd(296:300)=hdd(306:310)+yab*gdd(221:225)
gfd(451:525)=hdd(241:315)+xab*gdd(151:225)
gfd(526:550)=hdd(526:550)+zab*gdd(376:400)
gfd(551:570)=hdd(556:575)+zab*gdd(401:420)
gfd(571:585)=hdd(581:595)+zab*gdd(421:435)
gfd(586:595)=hdd(601:610)+zab*gdd(436:445)
gfd(596:600)=hdd(616:620)+zab*gdd(446:450)
gfd(676:750)=hdd(556:630)+xab*gdd(376:450)
hfd(1:30)=idd(1:30)+zab*hdd(1:30)
hfd(31:55)=idd(36:60)+zab*hdd(31:55)
hfd(56:75)=idd(66:85)+zab*hdd(56:75)
hfd(76:90)=idd(91:105)+zab*hdd(76:90)
hfd(91:100)=idd(111:120)+zab*hdd(91:100)
hfd(101:105)=idd(126:130)+zab*hdd(101:105)
hfd(106:135)=idd(6:35)+yab*hdd(1:30)
hfd(136:160)=idd(41:65)+yab*hdd(31:55)
hfd(161:180)=idd(71:90)+yab*hdd(56:75)
hfd(181:195)=idd(96:110)+yab*hdd(76:90)
hfd(196:205)=idd(116:125)+yab*hdd(91:100)
hfd(206:210)=idd(131:135)+yab*hdd(101:105)
hfd(316:345)=idd(286:315)+yab*hdd(211:240)
hfd(346:370)=idd(321:345)+yab*hdd(241:265)
hfd(371:390)=idd(351:370)+yab*hdd(266:285)
hfd(391:405)=idd(376:390)+yab*hdd(286:300)
hfd(406:415)=idd(396:405)+yab*hdd(301:310)
hfd(416:420)=idd(411:415)+yab*hdd(311:315)
hfd(631:735)=idd(316:420)+xab*hdd(211:315)
hfd(736:765)=idd(701:730)+zab*hdd(526:555)
hfd(766:790)=idd(736:760)+zab*hdd(556:580)
hfd(791:810)=idd(766:785)+zab*hdd(581:600)
hfd(811:825)=idd(791:805)+zab*hdd(601:615)
hfd(826:835)=idd(811:820)+zab*hdd(616:625)
hfd(836:840)=idd(826:830)+zab*hdd(626:630)
hfd(946:1050)=idd(736:840)+xab*hdd(526:630)
psp2(1:25)=hfd(1:25)+zab*gfd(1:25)
psp2(26:45)=hfd(31:50)+zab*gfd(26:45)
psp2(46:60)=hfd(56:70)+zab*gfd(46:60)
psp2(61:70)=hfd(76:85)+zab*gfd(61:70)
psp2(71:75)=hfd(91:95)+zab*gfd(71:75)
psp2(76:100)=hfd(6:30)+yab*gfd(1:25)
psp2(101:120)=hfd(36:55)+yab*gfd(26:45)
psp2(121:135)=hfd(61:75)+yab*gfd(46:60)
psp2(136:145)=hfd(81:90)+yab*gfd(61:70)
psp2(146:150)=hfd(96:100)+yab*gfd(71:75)
psp2(151:175)=hfd(111:135)+yab*gfd(76:100)
psp2(176:195)=hfd(141:160)+yab*gfd(101:120)
psp2(196:210)=hfd(166:180)+yab*gfd(121:135)
psp2(211:220)=hfd(186:195)+yab*gfd(136:145)
psp2(221:225)=hfd(201:205)+yab*gfd(146:150)
psp2(226:250)=hfd(316:340)+zab*gfd(226:250)
psp2(251:270)=hfd(346:365)+zab*gfd(251:270)
psp2(271:285)=hfd(371:385)+zab*gfd(271:285)
psp2(286:295)=hfd(391:400)+zab*gfd(286:295)
psp2(296:300)=hfd(406:410)+zab*gfd(296:300)
psp2(301:325)=hfd(321:345)+yab*gfd(226:250)
psp2(326:345)=hfd(351:370)+yab*gfd(251:270)
psp2(346:360)=hfd(376:390)+yab*gfd(271:285)
psp2(361:370)=hfd(396:405)+yab*gfd(286:295)
psp2(371:375)=hfd(411:415)+yab*gfd(296:300)
psp2(376:450)=hfd(31:105)+xab*gfd(1:75)
psp2(451:525)=hfd(136:210)+xab*gfd(76:150)
psp2(526:550)=hfd(631:655)+zab*gfd(451:475)
psp2(551:570)=hfd(661:680)+zab*gfd(476:495)
psp2(571:585)=hfd(686:700)+zab*gfd(496:510)
psp2(586:595)=hfd(706:715)+zab*gfd(511:520)
psp2(596:600)=hfd(721:725)+zab*gfd(521:525)
psp2(601:675)=hfd(346:420)+xab*gfd(226:300)
psp2(676:700)=hfd(736:760)+zab*gfd(526:550)
psp2(701:720)=hfd(766:785)+zab*gfd(551:570)
psp2(721:735)=hfd(791:805)+zab*gfd(571:585)
psp2(736:745)=hfd(811:820)+zab*gfd(586:595)
psp2(746:750)=hfd(826:830)+zab*gfd(596:600)
psp2(751:775)=hfd(741:765)+yab*gfd(526:550)
psp2(776:795)=hfd(771:790)+yab*gfd(551:570)
psp2(796:810)=hfd(796:810)+yab*gfd(571:585)
psp2(811:820)=hfd(816:825)+yab*gfd(586:595)
psp2(821:825)=hfd(831:835)+yab*gfd(596:600)
psp2(826:900)=hfd(661:735)+xab*gfd(451:525)
psp2(901:925)=hfd(946:970)+zab*gfd(676:700)
psp2(926:945)=hfd(976:995)+zab*gfd(701:720)
psp2(946:960)=hfd(1001:1015)+zab*gfd(721:735)
psp2(961:970)=hfd(1021:1030)+zab*gfd(736:745)
psp2(971:975)=hfd(1036:1040)+zab*gfd(746:750)
psp2(976:1000)=hfd(951:975)+yab*gfd(676:700)
psp2(1001:1020)=hfd(981:1000)+yab*gfd(701:720)
psp2(1021:1035)=hfd(1006:1020)+yab*gfd(721:735)
psp2(1036:1045)=hfd(1026:1035)+yab*gfd(736:745)
psp2(1046:1050)=hfd(1041:1045)+yab*gfd(746:750)
psp2(1051:1125)=hfd(976:1050)+xab*gfd(676:750)
sp(1:75)=psp2(601:675)*(-2.95803989154980806475d0)+psp2(976:1050)*
$2.95803989154980806475d0
sp(76:150)=psp2(226:300)*(-2.09165006633518890666d0)+psp2(751:825)
$*6.27495019900556627590d0
sp(151:225)=psp2(451:525)*6.70820393249936941515d0+psp2(601:675)*(
$-1.11803398874989490253d0)+psp2(976:1050)*(-1.11803398874989490253
$d0)
sp(226:300)=psp2(76:150)*3.16227766016837907870d0+psp2(226:300)*(-
$2.37170824512628453107d0)+psp2(751:825)*(-2.37170824512628453107d0
$)
sp(301:375)=psp2(1:75)+psp2(151:225)*(-3.00000000000000000000d0)+p
$sp2(301:375)*0.37500000000000000000d0+psp2(676:750)*(-3.0000000000
$0000000000d0)+psp2(826:900)*0.75000000000000000000d0+psp2(1051:112
$5)*0.37500000000000000000d0
sp(376:450)=psp2(376:450)*3.16227766016837907870d0+psp2(526:600)*(
$-2.37170824512628453107d0)+psp2(901:975)*(-2.37170824512628453107d
$0)
sp(451:525)=psp2(151:225)*(-3.35410196624968470758d0)+psp2(301:375
$)*0.55901699437494745126d0+psp2(676:750)*3.35410196624968470758d0+
$psp2(1051:1125)*(-0.55901699437494745126d0)
sp(526:600)=psp2(526:600)*(-6.27495019900556627590d0)+psp2(901:975
$)*2.09165006633518890666d0
sp(601:675)=psp2(301:375)*0.73950997288745201619d0+psp2(826:900)*(
$-4.43705983732471231917d0)+psp2(1051:1125)*0.73950997288745201619d
$0
do ji=0,8
ki=ji*75
jk=ji*5
do ii=0,14
k=ii*5
il=ii*45
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:45)=psp2(361:405)*(-2.95803989154980806475d0)+psp2(586:630)*2
$.95803989154980806475d0
sp(46:90)=psp2(136:180)*(-2.09165006633518890666d0)+psp2(451:495)*
$6.27495019900556627590d0
sp(91:135)=psp2(271:315)*6.70820393249936941515d0+psp2(361:405)*(-
$1.11803398874989490253d0)+psp2(586:630)*(-1.11803398874989490253d0
$)
sp(136:180)=psp2(46:90)*3.16227766016837907870d0+psp2(136:180)*(-2
$.37170824512628453107d0)+psp2(451:495)*(-2.37170824512628453107d0)
sp(181:225)=psp2(1:45)+psp2(91:135)*(-3.00000000000000000000d0)+ps
$p2(181:225)*0.37500000000000000000d0+psp2(406:450)*(-3.00000000000
$000000000d0)+psp2(496:540)*0.75000000000000000000d0+psp2(631:675)*
$0.37500000000000000000d0
sp(226:270)=psp2(226:270)*3.16227766016837907870d0+psp2(316:360)*(
$-2.37170824512628453107d0)+psp2(541:585)*(-2.37170824512628453107d
$0)
sp(271:315)=psp2(91:135)*(-3.35410196624968470758d0)+psp2(181:225)
$*0.55901699437494745126d0+psp2(406:450)*3.35410196624968470758d0+p
$sp2(631:675)*(-0.55901699437494745126d0)
sp(316:360)=psp2(316:360)*(-6.27495019900556627590d0)+psp2(541:585
$)*2.09165006633518890666d0
sp(361:405)=psp2(181:225)*0.73950997288745201619d0+psp2(496:540)*(
$-4.43705983732471231917d0)+psp2(631:675)*0.73950997288745201619d0
return
end
subroutine hrrspher_ggf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1575),psp(1450)
real*8 psp2(1575)
real*8 gpf(315),hpf(441),ipf(588),kpf(756),gdf(630),hdf(882),idf(1
$176),gff(1050),hff(1470),xab,yab,zab
sp(1:145)=psp(436:580)*(-0.79056941504209476967d0)+psp(1161:1305)*
$2.37170824512628453107d0
sp(146:290)=psp(726:870)*3.87298334620741657730d0
sp(291:435)=psp(146:290)*2.44948974278317788134d0+psp(436:580)*(-0
$.61237243569579447033d0)+psp(1161:1305)*(-0.61237243569579447033d0
$)
sp(436:580)=psp(1:145)+psp(291:435)*(-1.50000000000000000000d0)+ps
$p(1016:1160)*(-1.50000000000000000000d0)
sp(581:725)=psp(581:725)*2.44948974278317788134d0+psp(871:1015)*(-
$0.61237243569579447033d0)+psp(1306:1450)*(-0.61237243569579447033d
$0)
sp(726:870)=psp(291:435)*(-1.93649167310370828865d0)+psp(1016:1160
$)*1.93649167310370828865d0
sp(871:1015)=psp(871:1015)*(-2.37170824512628453107d0)+psp(1306:14
$50)*0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*145
do ki=1,145
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
gpf(1:35)=psp(106:140)+zab*psp(1:35)
gpf(36:63)=psp(148:175)+zab*psp(36:63)
gpf(64:84)=psp(183:203)+zab*psp(64:84)
gpf(85:98)=psp(211:224)+zab*psp(85:98)
gpf(99:105)=psp(232:238)+zab*psp(99:105)
gpf(106:140)=psp(113:147)+yab*psp(1:35)
gpf(141:168)=psp(155:182)+yab*psp(36:63)
gpf(169:189)=psp(190:210)+yab*psp(64:84)
gpf(190:203)=psp(218:231)+yab*psp(85:98)
gpf(204:210)=psp(239:245)+yab*psp(99:105)
gpf(211:315)=psp(148:252)+xab*psp(1:105)
hpf(1:42)=psp(253:294)+zab*psp(106:147)
hpf(43:77)=psp(302:336)+zab*psp(148:182)
hpf(78:105)=psp(344:371)+zab*psp(183:210)
hpf(106:126)=psp(379:399)+zab*psp(211:231)
hpf(127:140)=psp(407:420)+zab*psp(232:245)
hpf(141:147)=psp(428:434)+zab*psp(246:252)
hpf(148:189)=psp(260:301)+yab*psp(106:147)
hpf(190:224)=psp(309:343)+yab*psp(148:182)
hpf(225:252)=psp(351:378)+yab*psp(183:210)
hpf(253:273)=psp(386:406)+yab*psp(211:231)
hpf(274:287)=psp(414:427)+yab*psp(232:245)
hpf(288:294)=psp(435:441)+yab*psp(246:252)
hpf(295:441)=psp(302:448)+xab*psp(106:252)
ipf(1:49)=psp(449:497)+zab*psp(253:301)
ipf(50:91)=psp(505:546)+zab*psp(302:343)
ipf(92:126)=psp(554:588)+zab*psp(344:378)
ipf(127:154)=psp(596:623)+zab*psp(379:406)
ipf(155:175)=psp(631:651)+zab*psp(407:427)
ipf(176:189)=psp(659:672)+zab*psp(428:441)
ipf(190:196)=psp(680:686)+zab*psp(442:448)
ipf(197:245)=psp(456:504)+yab*psp(253:301)
ipf(246:287)=psp(512:553)+yab*psp(302:343)
ipf(288:322)=psp(561:595)+yab*psp(344:378)
ipf(323:350)=psp(603:630)+yab*psp(379:406)
ipf(351:371)=psp(638:658)+yab*psp(407:427)
ipf(372:385)=psp(666:679)+yab*psp(428:441)
ipf(386:392)=psp(687:693)+yab*psp(442:448)
ipf(393:588)=psp(505:700)+xab*psp(253:448)
kpf(1:56)=psp(701:756)+zab*psp(449:504)
kpf(57:105)=psp(764:812)+zab*psp(505:553)
kpf(106:147)=psp(820:861)+zab*psp(554:595)
kpf(148:182)=psp(869:903)+zab*psp(596:630)
kpf(183:210)=psp(911:938)+zab*psp(631:658)
kpf(211:231)=psp(946:966)+zab*psp(659:679)
kpf(232:245)=psp(974:987)+zab*psp(680:693)
kpf(246:252)=psp(995:1001)+zab*psp(694:700)
kpf(253:308)=psp(708:763)+yab*psp(449:504)
kpf(309:357)=psp(771:819)+yab*psp(505:553)
kpf(358:399)=psp(827:868)+yab*psp(554:595)
kpf(400:434)=psp(876:910)+yab*psp(596:630)
kpf(435:462)=psp(918:945)+yab*psp(631:658)
kpf(463:483)=psp(953:973)+yab*psp(659:679)
kpf(484:497)=psp(981:994)+yab*psp(680:693)
kpf(498:504)=psp(1002:1008)+yab*psp(694:700)
kpf(505:756)=psp(764:1015)+xab*psp(449:700)
gdf(1:35)=hpf(1:35)+zab*gpf(1:35)
gdf(36:63)=hpf(43:70)+zab*gpf(36:63)
gdf(64:84)=hpf(78:98)+zab*gpf(64:84)
gdf(85:98)=hpf(106:119)+zab*gpf(85:98)
gdf(99:105)=hpf(127:133)+zab*gpf(99:105)
gdf(211:245)=hpf(155:189)+yab*gpf(106:140)
gdf(246:273)=hpf(197:224)+yab*gpf(141:168)
gdf(274:294)=hpf(232:252)+yab*gpf(169:189)
gdf(295:308)=hpf(260:273)+yab*gpf(190:203)
gdf(309:315)=hpf(281:287)+yab*gpf(204:210)
gdf(526:630)=hpf(337:441)+xab*gpf(211:315)
hdf(1:42)=ipf(1:42)+zab*hpf(1:42)
hdf(43:77)=ipf(50:84)+zab*hpf(43:77)
hdf(78:105)=ipf(92:119)+zab*hpf(78:105)
hdf(106:126)=ipf(127:147)+zab*hpf(106:126)
hdf(127:140)=ipf(155:168)+zab*hpf(127:140)
hdf(141:147)=ipf(176:182)+zab*hpf(141:147)
hdf(295:336)=ipf(204:245)+yab*hpf(148:189)
hdf(337:371)=ipf(253:287)+yab*hpf(190:224)
hdf(372:399)=ipf(295:322)+yab*hpf(225:252)
hdf(400:420)=ipf(330:350)+yab*hpf(253:273)
hdf(421:434)=ipf(358:371)+yab*hpf(274:287)
hdf(435:441)=ipf(379:385)+yab*hpf(288:294)
hdf(736:882)=ipf(442:588)+xab*hpf(295:441)
idf(1:49)=kpf(1:49)+zab*ipf(1:49)
idf(50:91)=kpf(57:98)+zab*ipf(50:91)
idf(92:126)=kpf(106:140)+zab*ipf(92:126)
idf(127:154)=kpf(148:175)+zab*ipf(127:154)
idf(155:175)=kpf(183:203)+zab*ipf(155:175)
idf(176:189)=kpf(211:224)+zab*ipf(176:189)
idf(190:196)=kpf(232:238)+zab*ipf(190:196)
idf(393:441)=kpf(260:308)+yab*ipf(197:245)
idf(442:483)=kpf(316:357)+yab*ipf(246:287)
idf(484:518)=kpf(365:399)+yab*ipf(288:322)
idf(519:546)=kpf(407:434)+yab*ipf(323:350)
idf(547:567)=kpf(442:462)+yab*ipf(351:371)
idf(568:581)=kpf(470:483)+yab*ipf(372:385)
idf(582:588)=kpf(491:497)+yab*ipf(386:392)
idf(981:1176)=kpf(561:756)+xab*ipf(393:588)
gff(1:35)=hdf(1:35)+zab*gdf(1:35)
gff(36:63)=hdf(43:70)+zab*gdf(36:63)
gff(64:84)=hdf(78:98)+zab*gdf(64:84)
gff(85:98)=hdf(106:119)+zab*gdf(85:98)
gff(99:105)=hdf(127:133)+zab*gdf(99:105)
gff(106:140)=hdf(8:42)+yab*gdf(1:35)
gff(141:168)=hdf(50:77)+yab*gdf(36:63)
gff(169:189)=hdf(85:105)+yab*gdf(64:84)
gff(190:203)=hdf(113:126)+yab*gdf(85:98)
gff(204:210)=hdf(134:140)+yab*gdf(99:105)
gff(316:350)=hdf(302:336)+yab*gdf(211:245)
gff(351:378)=hdf(344:371)+yab*gdf(246:273)
gff(379:399)=hdf(379:399)+yab*gdf(274:294)
gff(400:413)=hdf(407:420)+yab*gdf(295:308)
gff(414:420)=hdf(428:434)+yab*gdf(309:315)
gff(631:735)=hdf(337:441)+xab*gdf(211:315)
gff(736:770)=hdf(736:770)+zab*gdf(526:560)
gff(771:798)=hdf(778:805)+zab*gdf(561:588)
gff(799:819)=hdf(813:833)+zab*gdf(589:609)
gff(820:833)=hdf(841:854)+zab*gdf(610:623)
gff(834:840)=hdf(862:868)+zab*gdf(624:630)
gff(946:1050)=hdf(778:882)+xab*gdf(526:630)
hff(1:42)=idf(1:42)+zab*hdf(1:42)
hff(43:77)=idf(50:84)+zab*hdf(43:77)
hff(78:105)=idf(92:119)+zab*hdf(78:105)
hff(106:126)=idf(127:147)+zab*hdf(106:126)
hff(127:140)=idf(155:168)+zab*hdf(127:140)
hff(141:147)=idf(176:182)+zab*hdf(141:147)
hff(148:189)=idf(8:49)+yab*hdf(1:42)
hff(190:224)=idf(57:91)+yab*hdf(43:77)
hff(225:252)=idf(99:126)+yab*hdf(78:105)
hff(253:273)=idf(134:154)+yab*hdf(106:126)
hff(274:287)=idf(162:175)+yab*hdf(127:140)
hff(288:294)=idf(183:189)+yab*hdf(141:147)
hff(442:483)=idf(400:441)+yab*hdf(295:336)
hff(484:518)=idf(449:483)+yab*hdf(337:371)
hff(519:546)=idf(491:518)+yab*hdf(372:399)
hff(547:567)=idf(526:546)+yab*hdf(400:420)
hff(568:581)=idf(554:567)+yab*hdf(421:434)
hff(582:588)=idf(575:581)+yab*hdf(435:441)
hff(883:1029)=idf(442:588)+xab*hdf(295:441)
hff(1030:1071)=idf(981:1022)+zab*hdf(736:777)
hff(1072:1106)=idf(1030:1064)+zab*hdf(778:812)
hff(1107:1134)=idf(1072:1099)+zab*hdf(813:840)
hff(1135:1155)=idf(1107:1127)+zab*hdf(841:861)
hff(1156:1169)=idf(1135:1148)+zab*hdf(862:875)
hff(1170:1176)=idf(1156:1162)+zab*hdf(876:882)
hff(1324:1470)=idf(1030:1176)+xab*hdf(736:882)
psp2(1:35)=hff(1:35)+zab*gff(1:35)
psp2(36:63)=hff(43:70)+zab*gff(36:63)
psp2(64:84)=hff(78:98)+zab*gff(64:84)
psp2(85:98)=hff(106:119)+zab*gff(85:98)
psp2(99:105)=hff(127:133)+zab*gff(99:105)
psp2(106:140)=hff(8:42)+yab*gff(1:35)
psp2(141:168)=hff(50:77)+yab*gff(36:63)
psp2(169:189)=hff(85:105)+yab*gff(64:84)
psp2(190:203)=hff(113:126)+yab*gff(85:98)
psp2(204:210)=hff(134:140)+yab*gff(99:105)
psp2(211:245)=hff(155:189)+yab*gff(106:140)
psp2(246:273)=hff(197:224)+yab*gff(141:168)
psp2(274:294)=hff(232:252)+yab*gff(169:189)
psp2(295:308)=hff(260:273)+yab*gff(190:203)
psp2(309:315)=hff(281:287)+yab*gff(204:210)
psp2(316:350)=hff(442:476)+zab*gff(316:350)
psp2(351:378)=hff(484:511)+zab*gff(351:378)
psp2(379:399)=hff(519:539)+zab*gff(379:399)
psp2(400:413)=hff(547:560)+zab*gff(400:413)
psp2(414:420)=hff(568:574)+zab*gff(414:420)
psp2(421:455)=hff(449:483)+yab*gff(316:350)
psp2(456:483)=hff(491:518)+yab*gff(351:378)
psp2(484:504)=hff(526:546)+yab*gff(379:399)
psp2(505:518)=hff(554:567)+yab*gff(400:413)
psp2(519:525)=hff(575:581)+yab*gff(414:420)
psp2(526:630)=hff(43:147)+xab*gff(1:105)
psp2(631:735)=hff(190:294)+xab*gff(106:210)
psp2(736:770)=hff(883:917)+zab*gff(631:665)
psp2(771:798)=hff(925:952)+zab*gff(666:693)
psp2(799:819)=hff(960:980)+zab*gff(694:714)
psp2(820:833)=hff(988:1001)+zab*gff(715:728)
psp2(834:840)=hff(1009:1015)+zab*gff(729:735)
psp2(841:945)=hff(484:588)+xab*gff(316:420)
psp2(946:980)=hff(1030:1064)+zab*gff(736:770)
psp2(981:1008)=hff(1072:1099)+zab*gff(771:798)
psp2(1009:1029)=hff(1107:1127)+zab*gff(799:819)
psp2(1030:1043)=hff(1135:1148)+zab*gff(820:833)
psp2(1044:1050)=hff(1156:1162)+zab*gff(834:840)
psp2(1051:1085)=hff(1037:1071)+yab*gff(736:770)
psp2(1086:1113)=hff(1079:1106)+yab*gff(771:798)
psp2(1114:1134)=hff(1114:1134)+yab*gff(799:819)
psp2(1135:1148)=hff(1142:1155)+yab*gff(820:833)
psp2(1149:1155)=hff(1163:1169)+yab*gff(834:840)
psp2(1156:1260)=hff(925:1029)+xab*gff(631:735)
psp2(1261:1295)=hff(1324:1358)+zab*gff(946:980)
psp2(1296:1323)=hff(1366:1393)+zab*gff(981:1008)
psp2(1324:1344)=hff(1401:1421)+zab*gff(1009:1029)
psp2(1345:1358)=hff(1429:1442)+zab*gff(1030:1043)
psp2(1359:1365)=hff(1450:1456)+zab*gff(1044:1050)
psp2(1366:1400)=hff(1331:1365)+yab*gff(946:980)
psp2(1401:1428)=hff(1373:1400)+yab*gff(981:1008)
psp2(1429:1449)=hff(1408:1428)+yab*gff(1009:1029)
psp2(1450:1463)=hff(1436:1449)+yab*gff(1030:1043)
psp2(1464:1470)=hff(1457:1463)+yab*gff(1044:1050)
psp2(1471:1575)=hff(1366:1470)+xab*gff(946:1050)
sp(1:105)=psp2(841:945)*(-2.95803989154980806475d0)+psp2(1366:1470
$)*2.95803989154980806475d0
sp(106:210)=psp2(316:420)*(-2.09165006633518890666d0)+psp2(1051:11
$55)*6.27495019900556627590d0
sp(211:315)=psp2(631:735)*6.70820393249936941515d0+psp2(841:945)*(
$-1.11803398874989490253d0)+psp2(1366:1470)*(-1.1180339887498949025
$3d0)
sp(316:420)=psp2(106:210)*3.16227766016837907870d0+psp2(316:420)*(
$-2.37170824512628453107d0)+psp2(1051:1155)*(-2.3717082451262845310
$7d0)
sp(421:525)=psp2(1:105)+psp2(211:315)*(-3.00000000000000000000d0)+
$psp2(421:525)*0.37500000000000000000d0+psp2(946:1050)*(-3.00000000
$000000000000d0)+psp2(1156:1260)*0.75000000000000000000d0+psp2(1471
$:1575)*0.37500000000000000000d0
sp(526:630)=psp2(526:630)*3.16227766016837907870d0+psp2(736:840)*(
$-2.37170824512628453107d0)+psp2(1261:1365)*(-2.3717082451262845310
$7d0)
sp(631:735)=psp2(211:315)*(-3.35410196624968470758d0)+psp2(421:525
$)*0.55901699437494745126d0+psp2(946:1050)*3.35410196624968470758d0
$+psp2(1471:1575)*(-0.55901699437494745126d0)
sp(736:840)=psp2(736:840)*(-6.27495019900556627590d0)+psp2(1261:13
$65)*2.09165006633518890666d0
sp(841:945)=psp2(421:525)*0.73950997288745201619d0+psp2(1156:1260)
$*(-4.43705983732471231917d0)+psp2(1471:1575)*0.7395099728874520161
$9d0
do ji=0,8
ki=ji*105
jk=ji*7
do ii=0,14
k=ii*7
il=ii*63
do ik=1,7
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:63)=psp2(505:567)*(-2.95803989154980806475d0)+psp2(820:882)*2
$.95803989154980806475d0
sp(64:126)=psp2(190:252)*(-2.09165006633518890666d0)+psp2(631:693)
$*6.27495019900556627590d0
sp(127:189)=psp2(379:441)*6.70820393249936941515d0+psp2(505:567)*(
$-1.11803398874989490253d0)+psp2(820:882)*(-1.11803398874989490253d
$0)
sp(190:252)=psp2(64:126)*3.16227766016837907870d0+psp2(190:252)*(-
$2.37170824512628453107d0)+psp2(631:693)*(-2.37170824512628453107d0
$)
sp(253:315)=psp2(1:63)+psp2(127:189)*(-3.00000000000000000000d0)+p
$sp2(253:315)*0.37500000000000000000d0+psp2(568:630)*(-3.0000000000
$0000000000d0)+psp2(694:756)*0.75000000000000000000d0+psp2(883:945)
$*0.37500000000000000000d0
sp(316:378)=psp2(316:378)*3.16227766016837907870d0+psp2(442:504)*(
$-2.37170824512628453107d0)+psp2(757:819)*(-2.37170824512628453107d
$0)
sp(379:441)=psp2(127:189)*(-3.35410196624968470758d0)+psp2(253:315
$)*0.55901699437494745126d0+psp2(568:630)*3.35410196624968470758d0+
$psp2(883:945)*(-0.55901699437494745126d0)
sp(442:504)=psp2(442:504)*(-6.27495019900556627590d0)+psp2(757:819
$)*2.09165006633518890666d0
sp(505:567)=psp2(253:315)*0.73950997288745201619d0+psp2(694:756)*(
$-4.43705983732471231917d0)+psp2(883:945)*0.73950997288745201619d0
return
end
subroutine hrrspher_ggg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(2025),psp(2175)
real*8 gpg(405),hpg(567),ipg(756),kpg(972),gdg(810),hdg(1134),idg(
$1512),gfg(1350),hfg(1890),xab,yab,zab
sp(1:145)=psp(1161:1305)*(-2.95803989154980806475d0)+psp(1886:2030
$)*2.95803989154980806475d0
sp(146:290)=psp(436:580)*(-2.09165006633518890666d0)+psp(1451:1595
$)*6.27495019900556627590d0
sp(291:435)=psp(871:1015)*6.70820393249936941515d0+psp(1161:1305)*
$(-1.11803398874989490253d0)+psp(1886:2030)*(-1.1180339887498949025
$3d0)
sp(436:580)=psp(146:290)*3.16227766016837907870d0+psp(436:580)*(-2
$.37170824512628453107d0)+psp(1451:1595)*(-2.37170824512628453107d0
$)
sp(581:725)=psp(1:145)+psp(291:435)*(-3.00000000000000000000d0)+ps
$p(581:725)*0.37500000000000000000d0+psp(1306:1450)*(-3.00000000000
$000000000d0)+psp(1596:1740)*0.75000000000000000000d0+psp(2031:2175
$)*0.37500000000000000000d0
sp(726:870)=psp(726:870)*3.16227766016837907870d0+psp(1016:1160)*(
$-2.37170824512628453107d0)+psp(1741:1885)*(-2.37170824512628453107
$d0)
sp(871:1015)=psp(291:435)*(-3.35410196624968470758d0)+psp(581:725)
$*0.55901699437494745126d0+psp(1306:1450)*3.35410196624968470758d0+
$psp(2031:2175)*(-0.55901699437494745126d0)
sp(1016:1160)=psp(1016:1160)*(-6.27495019900556627590d0)+psp(1741:
$1885)*2.09165006633518890666d0
sp(1161:1305)=psp(581:725)*0.73950997288745201619d0+psp(1596:1740)
$*(-4.43705983732471231917d0)+psp(2031:2175)*0.73950997288745201619
$d0
do ii=1,9
ji=(ii-1)*145
do ki=1,145
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
gpg(1:45)=psp(136:180)+zab*psp(1:45)
gpg(46:81)=psp(190:225)+zab*psp(46:81)
gpg(82:108)=psp(235:261)+zab*psp(82:108)
gpg(109:126)=psp(271:288)+zab*psp(109:126)
gpg(127:135)=psp(298:306)+zab*psp(127:135)
gpg(136:180)=psp(145:189)+yab*psp(1:45)
gpg(181:216)=psp(199:234)+yab*psp(46:81)
gpg(217:243)=psp(244:270)+yab*psp(82:108)
gpg(244:261)=psp(280:297)+yab*psp(109:126)
gpg(262:270)=psp(307:315)+yab*psp(127:135)
gpg(271:405)=psp(190:324)+xab*psp(1:135)
hpg(1:54)=psp(325:378)+zab*psp(136:189)
hpg(55:99)=psp(388:432)+zab*psp(190:234)
hpg(100:135)=psp(442:477)+zab*psp(235:270)
hpg(136:162)=psp(487:513)+zab*psp(271:297)
hpg(163:180)=psp(523:540)+zab*psp(298:315)
hpg(181:189)=psp(550:558)+zab*psp(316:324)
hpg(190:243)=psp(334:387)+yab*psp(136:189)
hpg(244:288)=psp(397:441)+yab*psp(190:234)
hpg(289:324)=psp(451:486)+yab*psp(235:270)
hpg(325:351)=psp(496:522)+yab*psp(271:297)
hpg(352:369)=psp(532:549)+yab*psp(298:315)
hpg(370:378)=psp(559:567)+yab*psp(316:324)
hpg(379:567)=psp(388:576)+xab*psp(136:324)
ipg(1:63)=psp(577:639)+zab*psp(325:387)
ipg(64:117)=psp(649:702)+zab*psp(388:441)
ipg(118:162)=psp(712:756)+zab*psp(442:486)
ipg(163:198)=psp(766:801)+zab*psp(487:522)
ipg(199:225)=psp(811:837)+zab*psp(523:549)
ipg(226:243)=psp(847:864)+zab*psp(550:567)
ipg(244:252)=psp(874:882)+zab*psp(568:576)
ipg(253:315)=psp(586:648)+yab*psp(325:387)
ipg(316:369)=psp(658:711)+yab*psp(388:441)
ipg(370:414)=psp(721:765)+yab*psp(442:486)
ipg(415:450)=psp(775:810)+yab*psp(487:522)
ipg(451:477)=psp(820:846)+yab*psp(523:549)
ipg(478:495)=psp(856:873)+yab*psp(550:567)
ipg(496:504)=psp(883:891)+yab*psp(568:576)
ipg(505:756)=psp(649:900)+xab*psp(325:576)
kpg(1:72)=psp(901:972)+zab*psp(577:648)
kpg(73:135)=psp(982:1044)+zab*psp(649:711)
kpg(136:189)=psp(1054:1107)+zab*psp(712:765)
kpg(190:234)=psp(1117:1161)+zab*psp(766:810)
kpg(235:270)=psp(1171:1206)+zab*psp(811:846)
kpg(271:297)=psp(1216:1242)+zab*psp(847:873)
kpg(298:315)=psp(1252:1269)+zab*psp(874:891)
kpg(316:324)=psp(1279:1287)+zab*psp(892:900)
kpg(325:396)=psp(910:981)+yab*psp(577:648)
kpg(397:459)=psp(991:1053)+yab*psp(649:711)
kpg(460:513)=psp(1063:1116)+yab*psp(712:765)
kpg(514:558)=psp(1126:1170)+yab*psp(766:810)
kpg(559:594)=psp(1180:1215)+yab*psp(811:846)
kpg(595:621)=psp(1225:1251)+yab*psp(847:873)
kpg(622:639)=psp(1261:1278)+yab*psp(874:891)
kpg(640:648)=psp(1288:1296)+yab*psp(892:900)
kpg(649:972)=psp(982:1305)+xab*psp(577:900)
gdg(1:45)=hpg(1:45)+zab*gpg(1:45)
gdg(46:81)=hpg(55:90)+zab*gpg(46:81)
gdg(82:108)=hpg(100:126)+zab*gpg(82:108)
gdg(109:126)=hpg(136:153)+zab*gpg(109:126)
gdg(127:135)=hpg(163:171)+zab*gpg(127:135)
gdg(271:315)=hpg(199:243)+yab*gpg(136:180)
gdg(316:351)=hpg(253:288)+yab*gpg(181:216)
gdg(352:378)=hpg(298:324)+yab*gpg(217:243)
gdg(379:396)=hpg(334:351)+yab*gpg(244:261)
gdg(397:405)=hpg(361:369)+yab*gpg(262:270)
gdg(676:810)=hpg(433:567)+xab*gpg(271:405)
hdg(1:54)=ipg(1:54)+zab*hpg(1:54)
hdg(55:99)=ipg(64:108)+zab*hpg(55:99)
hdg(100:135)=ipg(118:153)+zab*hpg(100:135)
hdg(136:162)=ipg(163:189)+zab*hpg(136:162)
hdg(163:180)=ipg(199:216)+zab*hpg(163:180)
hdg(181:189)=ipg(226:234)+zab*hpg(181:189)
hdg(379:432)=ipg(262:315)+yab*hpg(190:243)
hdg(433:477)=ipg(325:369)+yab*hpg(244:288)
hdg(478:513)=ipg(379:414)+yab*hpg(289:324)
hdg(514:540)=ipg(424:450)+yab*hpg(325:351)
hdg(541:558)=ipg(460:477)+yab*hpg(352:369)
hdg(559:567)=ipg(487:495)+yab*hpg(370:378)
hdg(946:1134)=ipg(568:756)+xab*hpg(379:567)
idg(1:63)=kpg(1:63)+zab*ipg(1:63)
idg(64:117)=kpg(73:126)+zab*ipg(64:117)
idg(118:162)=kpg(136:180)+zab*ipg(118:162)
idg(163:198)=kpg(190:225)+zab*ipg(163:198)
idg(199:225)=kpg(235:261)+zab*ipg(199:225)
idg(226:243)=kpg(271:288)+zab*ipg(226:243)
idg(244:252)=kpg(298:306)+zab*ipg(244:252)
idg(505:567)=kpg(334:396)+yab*ipg(253:315)
idg(568:621)=kpg(406:459)+yab*ipg(316:369)
idg(622:666)=kpg(469:513)+yab*ipg(370:414)
idg(667:702)=kpg(523:558)+yab*ipg(415:450)
idg(703:729)=kpg(568:594)+yab*ipg(451:477)
idg(730:747)=kpg(604:621)+yab*ipg(478:495)
idg(748:756)=kpg(631:639)+yab*ipg(496:504)
idg(1261:1512)=kpg(721:972)+xab*ipg(505:756)
gfg(1:45)=hdg(1:45)+zab*gdg(1:45)
gfg(46:81)=hdg(55:90)+zab*gdg(46:81)
gfg(82:108)=hdg(100:126)+zab*gdg(82:108)
gfg(109:126)=hdg(136:153)+zab*gdg(109:126)
gfg(127:135)=hdg(163:171)+zab*gdg(127:135)
gfg(136:180)=hdg(10:54)+yab*gdg(1:45)
gfg(181:216)=hdg(64:99)+yab*gdg(46:81)
gfg(217:243)=hdg(109:135)+yab*gdg(82:108)
gfg(244:261)=hdg(145:162)+yab*gdg(109:126)
gfg(262:270)=hdg(172:180)+yab*gdg(127:135)
gfg(406:450)=hdg(388:432)+yab*gdg(271:315)
gfg(451:486)=hdg(442:477)+yab*gdg(316:351)
gfg(487:513)=hdg(487:513)+yab*gdg(352:378)
gfg(514:531)=hdg(523:540)+yab*gdg(379:396)
gfg(532:540)=hdg(550:558)+yab*gdg(397:405)
gfg(811:945)=hdg(433:567)+xab*gdg(271:405)
gfg(946:990)=hdg(946:990)+zab*gdg(676:720)
gfg(991:1026)=hdg(1000:1035)+zab*gdg(721:756)
gfg(1027:1053)=hdg(1045:1071)+zab*gdg(757:783)
gfg(1054:1071)=hdg(1081:1098)+zab*gdg(784:801)
gfg(1072:1080)=hdg(1108:1116)+zab*gdg(802:810)
gfg(1216:1350)=hdg(1000:1134)+xab*gdg(676:810)
hfg(1:54)=idg(1:54)+zab*hdg(1:54)
hfg(55:99)=idg(64:108)+zab*hdg(55:99)
hfg(100:135)=idg(118:153)+zab*hdg(100:135)
hfg(136:162)=idg(163:189)+zab*hdg(136:162)
hfg(163:180)=idg(199:216)+zab*hdg(163:180)
hfg(181:189)=idg(226:234)+zab*hdg(181:189)
hfg(190:243)=idg(10:63)+yab*hdg(1:54)
hfg(244:288)=idg(73:117)+yab*hdg(55:99)
hfg(289:324)=idg(127:162)+yab*hdg(100:135)
hfg(325:351)=idg(172:198)+yab*hdg(136:162)
hfg(352:369)=idg(208:225)+yab*hdg(163:180)
hfg(370:378)=idg(235:243)+yab*hdg(181:189)
hfg(568:621)=idg(514:567)+yab*hdg(379:432)
hfg(622:666)=idg(577:621)+yab*hdg(433:477)
hfg(667:702)=idg(631:666)+yab*hdg(478:513)
hfg(703:729)=idg(676:702)+yab*hdg(514:540)
hfg(730:747)=idg(712:729)+yab*hdg(541:558)
hfg(748:756)=idg(739:747)+yab*hdg(559:567)
hfg(1135:1323)=idg(568:756)+xab*hdg(379:567)
hfg(1324:1377)=idg(1261:1314)+zab*hdg(946:999)
hfg(1378:1422)=idg(1324:1368)+zab*hdg(1000:1044)
hfg(1423:1458)=idg(1378:1413)+zab*hdg(1045:1080)
hfg(1459:1485)=idg(1423:1449)+zab*hdg(1081:1107)
hfg(1486:1503)=idg(1459:1476)+zab*hdg(1108:1125)
hfg(1504:1512)=idg(1486:1494)+zab*hdg(1126:1134)
hfg(1702:1890)=idg(1324:1512)+xab*hdg(946:1134)
psp(1:45)=hfg(1:45)+zab*gfg(1:45)
psp(46:81)=hfg(55:90)+zab*gfg(46:81)
psp(82:108)=hfg(100:126)+zab*gfg(82:108)
psp(109:126)=hfg(136:153)+zab*gfg(109:126)
psp(127:135)=hfg(163:171)+zab*gfg(127:135)
psp(136:180)=hfg(10:54)+yab*gfg(1:45)
psp(181:216)=hfg(64:99)+yab*gfg(46:81)
psp(217:243)=hfg(109:135)+yab*gfg(82:108)
psp(244:261)=hfg(145:162)+yab*gfg(109:126)
psp(262:270)=hfg(172:180)+yab*gfg(127:135)
psp(271:315)=hfg(199:243)+yab*gfg(136:180)
psp(316:351)=hfg(253:288)+yab*gfg(181:216)
psp(352:378)=hfg(298:324)+yab*gfg(217:243)
psp(379:396)=hfg(334:351)+yab*gfg(244:261)
psp(397:405)=hfg(361:369)+yab*gfg(262:270)
psp(406:450)=hfg(568:612)+zab*gfg(406:450)
psp(451:486)=hfg(622:657)+zab*gfg(451:486)
psp(487:513)=hfg(667:693)+zab*gfg(487:513)
psp(514:531)=hfg(703:720)+zab*gfg(514:531)
psp(532:540)=hfg(730:738)+zab*gfg(532:540)
psp(541:585)=hfg(577:621)+yab*gfg(406:450)
psp(586:621)=hfg(631:666)+yab*gfg(451:486)
psp(622:648)=hfg(676:702)+yab*gfg(487:513)
psp(649:666)=hfg(712:729)+yab*gfg(514:531)
psp(667:675)=hfg(739:747)+yab*gfg(532:540)
psp(676:810)=hfg(55:189)+xab*gfg(1:135)
psp(811:945)=hfg(244:378)+xab*gfg(136:270)
psp(946:990)=hfg(1135:1179)+zab*gfg(811:855)
psp(991:1026)=hfg(1189:1224)+zab*gfg(856:891)
psp(1027:1053)=hfg(1234:1260)+zab*gfg(892:918)
psp(1054:1071)=hfg(1270:1287)+zab*gfg(919:936)
psp(1072:1080)=hfg(1297:1305)+zab*gfg(937:945)
psp(1081:1215)=hfg(622:756)+xab*gfg(406:540)
psp(1216:1260)=hfg(1324:1368)+zab*gfg(946:990)
psp(1261:1296)=hfg(1378:1413)+zab*gfg(991:1026)
psp(1297:1323)=hfg(1423:1449)+zab*gfg(1027:1053)
psp(1324:1341)=hfg(1459:1476)+zab*gfg(1054:1071)
psp(1342:1350)=hfg(1486:1494)+zab*gfg(1072:1080)
psp(1351:1395)=hfg(1333:1377)+yab*gfg(946:990)
psp(1396:1431)=hfg(1387:1422)+yab*gfg(991:1026)
psp(1432:1458)=hfg(1432:1458)+yab*gfg(1027:1053)
psp(1459:1476)=hfg(1468:1485)+yab*gfg(1054:1071)
psp(1477:1485)=hfg(1495:1503)+yab*gfg(1072:1080)
psp(1486:1620)=hfg(1189:1323)+xab*gfg(811:945)
psp(1621:1665)=hfg(1702:1746)+zab*gfg(1216:1260)
psp(1666:1701)=hfg(1756:1791)+zab*gfg(1261:1296)
psp(1702:1728)=hfg(1801:1827)+zab*gfg(1297:1323)
psp(1729:1746)=hfg(1837:1854)+zab*gfg(1324:1341)
psp(1747:1755)=hfg(1864:1872)+zab*gfg(1342:1350)
psp(1756:1800)=hfg(1711:1755)+yab*gfg(1216:1260)
psp(1801:1836)=hfg(1765:1800)+yab*gfg(1261:1296)
psp(1837:1863)=hfg(1810:1836)+yab*gfg(1297:1323)
psp(1864:1881)=hfg(1846:1863)+yab*gfg(1324:1341)
psp(1882:1890)=hfg(1873:1881)+yab*gfg(1342:1350)
psp(1891:2025)=hfg(1756:1890)+xab*gfg(1216:1350)
sp(1:135)=psp(1081:1215)*(-2.95803989154980806475d0)+psp(1756:1890
$)*2.95803989154980806475d0
sp(136:270)=psp(406:540)*(-2.09165006633518890666d0)+psp(1351:1485
$)*6.27495019900556627590d0
sp(271:405)=psp(811:945)*6.70820393249936941515d0+psp(1081:1215)*(
$-1.11803398874989490253d0)+psp(1756:1890)*(-1.11803398874989490253
$d0)
sp(406:540)=psp(136:270)*3.16227766016837907870d0+psp(406:540)*(-2
$.37170824512628453107d0)+psp(1351:1485)*(-2.37170824512628453107d0
$)
sp(541:675)=psp(1:135)+psp(271:405)*(-3.00000000000000000000d0)+ps
$p(541:675)*0.37500000000000000000d0+psp(1216:1350)*(-3.00000000000
$000000000d0)+psp(1486:1620)*0.75000000000000000000d0+psp(1891:2025
$)*0.37500000000000000000d0
sp(676:810)=psp(676:810)*3.16227766016837907870d0+psp(946:1080)*(-
$2.37170824512628453107d0)+psp(1621:1755)*(-2.37170824512628453107d
$0)
sp(811:945)=psp(271:405)*(-3.35410196624968470758d0)+psp(541:675)*
$0.55901699437494745126d0+psp(1216:1350)*3.35410196624968470758d0+p
$sp(1891:2025)*(-0.55901699437494745126d0)
sp(946:1080)=psp(946:1080)*(-6.27495019900556627590d0)+psp(1621:17
$55)*2.09165006633518890666d0
sp(1081:1215)=psp(541:675)*0.73950997288745201619d0+psp(1486:1620)
$*(-4.43705983732471231917d0)+psp(1891:2025)*0.73950997288745201619
$d0
do ji=0,8
ki=ji*135
jk=ji*9
do ii=0,14
k=ii*9
il=ii*81
do ik=1,9
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:81)=psp(649:729)*(-2.95803989154980806475d0)+psp(1054:1134)*2
$.95803989154980806475d0
sp(82:162)=psp(244:324)*(-2.09165006633518890666d0)+psp(811:891)*6
$.27495019900556627590d0
sp(163:243)=psp(487:567)*6.70820393249936941515d0+psp(649:729)*(-1
$.11803398874989490253d0)+psp(1054:1134)*(-1.11803398874989490253d0
$)
sp(244:324)=psp(82:162)*3.16227766016837907870d0+psp(244:324)*(-2.
$37170824512628453107d0)+psp(811:891)*(-2.37170824512628453107d0)
sp(325:405)=psp(1:81)+psp(163:243)*(-3.00000000000000000000d0)+psp
$(325:405)*0.37500000000000000000d0+psp(730:810)*(-3.00000000000000
$000000d0)+psp(892:972)*0.75000000000000000000d0+psp(1135:1215)*0.3
$7500000000000000000d0
sp(406:486)=psp(406:486)*3.16227766016837907870d0+psp(568:648)*(-2
$.37170824512628453107d0)+psp(973:1053)*(-2.37170824512628453107d0)
sp(487:567)=psp(163:243)*(-3.35410196624968470758d0)+psp(325:405)*
$0.55901699437494745126d0+psp(730:810)*3.35410196624968470758d0+psp
$(1135:1215)*(-0.55901699437494745126d0)
sp(568:648)=psp(568:648)*(-6.27495019900556627590d0)+psp(973:1053)
$*2.09165006633518890666d0
sp(649:729)=psp(325:405)*0.73950997288745201619d0+psp(892:972)*(-4
$.43705983732471231917d0)+psp(1135:1215)*0.73950997288745201619d0
return
end
subroutine hrrspher_ggh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(2475),psp(3045)
real*8 gph(495),hph(693),iph(924),kph(1188),gdh(990),hdh(1386),idh
$(1848),gfh(1650),hfh(2310),xab,yab,zab
sp(1:145)=psp(726:870)*0.70156076002011391601d0+psp(2031:2175)*(-7
$.01560760020113871605d0)+psp(2756:2900)*3.50780380010056935802d0
sp(146:290)=psp(1306:1450)*(-8.87411967464942463835d0)+psp(2321:24
$65)*8.87411967464942463835d0
sp(291:435)=psp(436:580)*(-4.18330013267037692515d0)+psp(726:870)*
$0.52291251658379711564d0+psp(1741:1885)*12.54990039801113255180d0+
$psp(2031:2175)*(-1.04582503316759423129d0)+psp(2756:2900)*(-1.5687
$3754975139156898d0)
sp(436:580)=psp(1016:1160)*10.24695076595959974952d0+psp(1306:1450
$)*(-5.12347538297979987476d0)+psp(2321:2465)*(-5.12347538297979987
$476d0)
sp(581:725)=psp(146:290)*3.87298334620741613321d0+psp(436:580)*(-5
$.80947501931112419982d0)+psp(726:870)*0.48412291827592701665d0+psp
$(1741:1885)*(-5.80947501931112419982d0)+psp(2031:2175)*0.968245836
$55185403330d0+psp(2756:2900)*0.48412291827592701665d0
sp(726:870)=psp(1:145)+psp(291:435)*(-5.00000000000000000000d0)+ps
$p(581:725)*1.87500000000000000000d0+psp(1596:1740)*(-5.00000000000
$000000000d0)+psp(1886:2030)*3.75000000000000000000d0+psp(2611:2755
$)*1.87500000000000000000d0
sp(871:1015)=psp(871:1015)*3.87298334620741613321d0+psp(1161:1305)
$*(-5.80947501931112419982d0)+psp(1451:1595)*0.48412291827592701665
$d0+psp(2176:2320)*(-5.80947501931112419982d0)+psp(2466:2610)*0.968
$24583655185403330d0+psp(2901:3045)*0.48412291827592701665d0
sp(1016:1160)=psp(291:435)*(-5.12347538297979987476d0)+psp(581:725
$)*2.56173769148989993738d0+psp(1596:1740)*5.12347538297979987476d0
$+psp(2611:2755)*(-2.56173769148989993738d0)
sp(1161:1305)=psp(1161:1305)*(-12.54990039801113255180d0)+psp(1451
$:1595)*1.56873754975139156898d0+psp(2176:2320)*4.18330013267037692
$515d0+psp(2466:2610)*1.04582503316759423129d0+psp(2901:3045)*(-0.5
$2291251658379711564d0)
sp(1306:1450)=psp(581:725)*2.21852991866235615959d0+psp(1886:2030)
$*(-13.31117951197413695752d0)+psp(2611:2755)*2.2185299186623561595
$9d0
sp(1451:1595)=psp(1451:1595)*3.50780380010056935802d0+psp(2466:261
$0)*(-7.01560760020113871605d0)+psp(2901:3045)*0.701560760020113916
$01d0
do ii=1,11
ji=(ii-1)*145
do ki=1,145
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
gph(1:55)=psp(166:220)+zab*psp(1:55)
gph(56:99)=psp(232:275)+zab*psp(56:99)
gph(100:132)=psp(287:319)+zab*psp(100:132)
gph(133:154)=psp(331:352)+zab*psp(133:154)
gph(155:165)=psp(364:374)+zab*psp(155:165)
gph(166:220)=psp(177:231)+yab*psp(1:55)
gph(221:264)=psp(243:286)+yab*psp(56:99)
gph(265:297)=psp(298:330)+yab*psp(100:132)
gph(298:319)=psp(342:363)+yab*psp(133:154)
gph(320:330)=psp(375:385)+yab*psp(155:165)
gph(331:495)=psp(232:396)+xab*psp(1:165)
hph(1:66)=psp(397:462)+zab*psp(166:231)
hph(67:121)=psp(474:528)+zab*psp(232:286)
hph(122:165)=psp(540:583)+zab*psp(287:330)
hph(166:198)=psp(595:627)+zab*psp(331:363)
hph(199:220)=psp(639:660)+zab*psp(364:385)
hph(221:231)=psp(672:682)+zab*psp(386:396)
hph(232:297)=psp(408:473)+yab*psp(166:231)
hph(298:352)=psp(485:539)+yab*psp(232:286)
hph(353:396)=psp(551:594)+yab*psp(287:330)
hph(397:429)=psp(606:638)+yab*psp(331:363)
hph(430:451)=psp(650:671)+yab*psp(364:385)
hph(452:462)=psp(683:693)+yab*psp(386:396)
hph(463:693)=psp(474:704)+xab*psp(166:396)
iph(1:77)=psp(705:781)+zab*psp(397:473)
iph(78:143)=psp(793:858)+zab*psp(474:539)
iph(144:198)=psp(870:924)+zab*psp(540:594)
iph(199:242)=psp(936:979)+zab*psp(595:638)
iph(243:275)=psp(991:1023)+zab*psp(639:671)
iph(276:297)=psp(1035:1056)+zab*psp(672:693)
iph(298:308)=psp(1068:1078)+zab*psp(694:704)
iph(309:385)=psp(716:792)+yab*psp(397:473)
iph(386:451)=psp(804:869)+yab*psp(474:539)
iph(452:506)=psp(881:935)+yab*psp(540:594)
iph(507:550)=psp(947:990)+yab*psp(595:638)
iph(551:583)=psp(1002:1034)+yab*psp(639:671)
iph(584:605)=psp(1046:1067)+yab*psp(672:693)
iph(606:616)=psp(1079:1089)+yab*psp(694:704)
iph(617:924)=psp(793:1100)+xab*psp(397:704)
kph(1:88)=psp(1101:1188)+zab*psp(705:792)
kph(89:165)=psp(1200:1276)+zab*psp(793:869)
kph(166:231)=psp(1288:1353)+zab*psp(870:935)
kph(232:286)=psp(1365:1419)+zab*psp(936:990)
kph(287:330)=psp(1431:1474)+zab*psp(991:1034)
kph(331:363)=psp(1486:1518)+zab*psp(1035:1067)
kph(364:385)=psp(1530:1551)+zab*psp(1068:1089)
kph(386:396)=psp(1563:1573)+zab*psp(1090:1100)
kph(397:484)=psp(1112:1199)+yab*psp(705:792)
kph(485:561)=psp(1211:1287)+yab*psp(793:869)
kph(562:627)=psp(1299:1364)+yab*psp(870:935)
kph(628:682)=psp(1376:1430)+yab*psp(936:990)
kph(683:726)=psp(1442:1485)+yab*psp(991:1034)
kph(727:759)=psp(1497:1529)+yab*psp(1035:1067)
kph(760:781)=psp(1541:1562)+yab*psp(1068:1089)
kph(782:792)=psp(1574:1584)+yab*psp(1090:1100)
kph(793:1188)=psp(1200:1595)+xab*psp(705:1100)
gdh(1:55)=hph(1:55)+zab*gph(1:55)
gdh(56:99)=hph(67:110)+zab*gph(56:99)
gdh(100:132)=hph(122:154)+zab*gph(100:132)
gdh(133:154)=hph(166:187)+zab*gph(133:154)
gdh(155:165)=hph(199:209)+zab*gph(155:165)
gdh(331:385)=hph(243:297)+yab*gph(166:220)
gdh(386:429)=hph(309:352)+yab*gph(221:264)
gdh(430:462)=hph(364:396)+yab*gph(265:297)
gdh(463:484)=hph(408:429)+yab*gph(298:319)
gdh(485:495)=hph(441:451)+yab*gph(320:330)
gdh(826:990)=hph(529:693)+xab*gph(331:495)
hdh(1:66)=iph(1:66)+zab*hph(1:66)
hdh(67:121)=iph(78:132)+zab*hph(67:121)
hdh(122:165)=iph(144:187)+zab*hph(122:165)
hdh(166:198)=iph(199:231)+zab*hph(166:198)
hdh(199:220)=iph(243:264)+zab*hph(199:220)
hdh(221:231)=iph(276:286)+zab*hph(221:231)
hdh(463:528)=iph(320:385)+yab*hph(232:297)
hdh(529:583)=iph(397:451)+yab*hph(298:352)
hdh(584:627)=iph(463:506)+yab*hph(353:396)
hdh(628:660)=iph(518:550)+yab*hph(397:429)
hdh(661:682)=iph(562:583)+yab*hph(430:451)
hdh(683:693)=iph(595:605)+yab*hph(452:462)
hdh(1156:1386)=iph(694:924)+xab*hph(463:693)
idh(1:77)=kph(1:77)+zab*iph(1:77)
idh(78:143)=kph(89:154)+zab*iph(78:143)
idh(144:198)=kph(166:220)+zab*iph(144:198)
idh(199:242)=kph(232:275)+zab*iph(199:242)
idh(243:275)=kph(287:319)+zab*iph(243:275)
idh(276:297)=kph(331:352)+zab*iph(276:297)
idh(298:308)=kph(364:374)+zab*iph(298:308)
idh(617:693)=kph(408:484)+yab*iph(309:385)
idh(694:759)=kph(496:561)+yab*iph(386:451)
idh(760:814)=kph(573:627)+yab*iph(452:506)
idh(815:858)=kph(639:682)+yab*iph(507:550)
idh(859:891)=kph(694:726)+yab*iph(551:583)
idh(892:913)=kph(738:759)+yab*iph(584:605)
idh(914:924)=kph(771:781)+yab*iph(606:616)
idh(1541:1848)=kph(881:1188)+xab*iph(617:924)
gfh(1:55)=hdh(1:55)+zab*gdh(1:55)
gfh(56:99)=hdh(67:110)+zab*gdh(56:99)
gfh(100:132)=hdh(122:154)+zab*gdh(100:132)
gfh(133:154)=hdh(166:187)+zab*gdh(133:154)
gfh(155:165)=hdh(199:209)+zab*gdh(155:165)
gfh(166:220)=hdh(12:66)+yab*gdh(1:55)
gfh(221:264)=hdh(78:121)+yab*gdh(56:99)
gfh(265:297)=hdh(133:165)+yab*gdh(100:132)
gfh(298:319)=hdh(177:198)+yab*gdh(133:154)
gfh(320:330)=hdh(210:220)+yab*gdh(155:165)
gfh(496:550)=hdh(474:528)+yab*gdh(331:385)
gfh(551:594)=hdh(540:583)+yab*gdh(386:429)
gfh(595:627)=hdh(595:627)+yab*gdh(430:462)
gfh(628:649)=hdh(639:660)+yab*gdh(463:484)
gfh(650:660)=hdh(672:682)+yab*gdh(485:495)
gfh(991:1155)=hdh(529:693)+xab*gdh(331:495)
gfh(1156:1210)=hdh(1156:1210)+zab*gdh(826:880)
gfh(1211:1254)=hdh(1222:1265)+zab*gdh(881:924)
gfh(1255:1287)=hdh(1277:1309)+zab*gdh(925:957)
gfh(1288:1309)=hdh(1321:1342)+zab*gdh(958:979)
gfh(1310:1320)=hdh(1354:1364)+zab*gdh(980:990)
gfh(1486:1650)=hdh(1222:1386)+xab*gdh(826:990)
hfh(1:66)=idh(1:66)+zab*hdh(1:66)
hfh(67:121)=idh(78:132)+zab*hdh(67:121)
hfh(122:165)=idh(144:187)+zab*hdh(122:165)
hfh(166:198)=idh(199:231)+zab*hdh(166:198)
hfh(199:220)=idh(243:264)+zab*hdh(199:220)
hfh(221:231)=idh(276:286)+zab*hdh(221:231)
hfh(232:297)=idh(12:77)+yab*hdh(1:66)
hfh(298:352)=idh(89:143)+yab*hdh(67:121)
hfh(353:396)=idh(155:198)+yab*hdh(122:165)
hfh(397:429)=idh(210:242)+yab*hdh(166:198)
hfh(430:451)=idh(254:275)+yab*hdh(199:220)
hfh(452:462)=idh(287:297)+yab*hdh(221:231)
hfh(694:759)=idh(628:693)+yab*hdh(463:528)
hfh(760:814)=idh(705:759)+yab*hdh(529:583)
hfh(815:858)=idh(771:814)+yab*hdh(584:627)
hfh(859:891)=idh(826:858)+yab*hdh(628:660)
hfh(892:913)=idh(870:891)+yab*hdh(661:682)
hfh(914:924)=idh(903:913)+yab*hdh(683:693)
hfh(1387:1617)=idh(694:924)+xab*hdh(463:693)
hfh(1618:1683)=idh(1541:1606)+zab*hdh(1156:1221)
hfh(1684:1738)=idh(1618:1672)+zab*hdh(1222:1276)
hfh(1739:1782)=idh(1684:1727)+zab*hdh(1277:1320)
hfh(1783:1815)=idh(1739:1771)+zab*hdh(1321:1353)
hfh(1816:1837)=idh(1783:1804)+zab*hdh(1354:1375)
hfh(1838:1848)=idh(1816:1826)+zab*hdh(1376:1386)
hfh(2080:2310)=idh(1618:1848)+xab*hdh(1156:1386)
psp(1:55)=hfh(1:55)+zab*gfh(1:55)
psp(56:99)=hfh(67:110)+zab*gfh(56:99)
psp(100:132)=hfh(122:154)+zab*gfh(100:132)
psp(133:154)=hfh(166:187)+zab*gfh(133:154)
psp(155:165)=hfh(199:209)+zab*gfh(155:165)
psp(166:220)=hfh(12:66)+yab*gfh(1:55)
psp(221:264)=hfh(78:121)+yab*gfh(56:99)
psp(265:297)=hfh(133:165)+yab*gfh(100:132)
psp(298:319)=hfh(177:198)+yab*gfh(133:154)
psp(320:330)=hfh(210:220)+yab*gfh(155:165)
psp(331:385)=hfh(243:297)+yab*gfh(166:220)
psp(386:429)=hfh(309:352)+yab*gfh(221:264)
psp(430:462)=hfh(364:396)+yab*gfh(265:297)
psp(463:484)=hfh(408:429)+yab*gfh(298:319)
psp(485:495)=hfh(441:451)+yab*gfh(320:330)
psp(496:550)=hfh(694:748)+zab*gfh(496:550)
psp(551:594)=hfh(760:803)+zab*gfh(551:594)
psp(595:627)=hfh(815:847)+zab*gfh(595:627)
psp(628:649)=hfh(859:880)+zab*gfh(628:649)
psp(650:660)=hfh(892:902)+zab*gfh(650:660)
psp(661:715)=hfh(705:759)+yab*gfh(496:550)
psp(716:759)=hfh(771:814)+yab*gfh(551:594)
psp(760:792)=hfh(826:858)+yab*gfh(595:627)
psp(793:814)=hfh(870:891)+yab*gfh(628:649)
psp(815:825)=hfh(903:913)+yab*gfh(650:660)
psp(826:990)=hfh(67:231)+xab*gfh(1:165)
psp(991:1155)=hfh(298:462)+xab*gfh(166:330)
psp(1156:1210)=hfh(1387:1441)+zab*gfh(991:1045)
psp(1211:1254)=hfh(1453:1496)+zab*gfh(1046:1089)
psp(1255:1287)=hfh(1508:1540)+zab*gfh(1090:1122)
psp(1288:1309)=hfh(1552:1573)+zab*gfh(1123:1144)
psp(1310:1320)=hfh(1585:1595)+zab*gfh(1145:1155)
psp(1321:1485)=hfh(760:924)+xab*gfh(496:660)
psp(1486:1540)=hfh(1618:1672)+zab*gfh(1156:1210)
psp(1541:1584)=hfh(1684:1727)+zab*gfh(1211:1254)
psp(1585:1617)=hfh(1739:1771)+zab*gfh(1255:1287)
psp(1618:1639)=hfh(1783:1804)+zab*gfh(1288:1309)
psp(1640:1650)=hfh(1816:1826)+zab*gfh(1310:1320)
psp(1651:1705)=hfh(1629:1683)+yab*gfh(1156:1210)
psp(1706:1749)=hfh(1695:1738)+yab*gfh(1211:1254)
psp(1750:1782)=hfh(1750:1782)+yab*gfh(1255:1287)
psp(1783:1804)=hfh(1794:1815)+yab*gfh(1288:1309)
psp(1805:1815)=hfh(1827:1837)+yab*gfh(1310:1320)
psp(1816:1980)=hfh(1453:1617)+xab*gfh(991:1155)
psp(1981:2035)=hfh(2080:2134)+zab*gfh(1486:1540)
psp(2036:2079)=hfh(2146:2189)+zab*gfh(1541:1584)
psp(2080:2112)=hfh(2201:2233)+zab*gfh(1585:1617)
psp(2113:2134)=hfh(2245:2266)+zab*gfh(1618:1639)
psp(2135:2145)=hfh(2278:2288)+zab*gfh(1640:1650)
psp(2146:2200)=hfh(2091:2145)+yab*gfh(1486:1540)
psp(2201:2244)=hfh(2157:2200)+yab*gfh(1541:1584)
psp(2245:2277)=hfh(2212:2244)+yab*gfh(1585:1617)
psp(2278:2299)=hfh(2256:2277)+yab*gfh(1618:1639)
psp(2300:2310)=hfh(2289:2299)+yab*gfh(1640:1650)
psp(2311:2475)=hfh(2146:2310)+xab*gfh(1486:1650)
sp(1:165)=psp(1321:1485)*(-2.95803989154980806475d0)+psp(2146:2310
$)*2.95803989154980806475d0
sp(166:330)=psp(496:660)*(-2.09165006633518890666d0)+psp(1651:1815
$)*6.27495019900556627590d0
sp(331:495)=psp(991:1155)*6.70820393249936941515d0+psp(1321:1485)*
$(-1.11803398874989490253d0)+psp(2146:2310)*(-1.1180339887498949025
$3d0)
sp(496:660)=psp(166:330)*3.16227766016837907870d0+psp(496:660)*(-2
$.37170824512628453107d0)+psp(1651:1815)*(-2.37170824512628453107d0
$)
sp(661:825)=psp(1:165)+psp(331:495)*(-3.00000000000000000000d0)+ps
$p(661:825)*0.37500000000000000000d0+psp(1486:1650)*(-3.00000000000
$000000000d0)+psp(1816:1980)*0.75000000000000000000d0+psp(2311:2475
$)*0.37500000000000000000d0
sp(826:990)=psp(826:990)*3.16227766016837907870d0+psp(1156:1320)*(
$-2.37170824512628453107d0)+psp(1981:2145)*(-2.37170824512628453107
$d0)
sp(991:1155)=psp(331:495)*(-3.35410196624968470758d0)+psp(661:825)
$*0.55901699437494745126d0+psp(1486:1650)*3.35410196624968470758d0+
$psp(2311:2475)*(-0.55901699437494745126d0)
sp(1156:1320)=psp(1156:1320)*(-6.27495019900556627590d0)+psp(1981:
$2145)*2.09165006633518890666d0
sp(1321:1485)=psp(661:825)*0.73950997288745201619d0+psp(1816:1980)
$*(-4.43705983732471231917d0)+psp(2311:2475)*0.73950997288745201619
$d0
do ji=0,8
ki=ji*165
jk=ji*11
do ii=0,14
k=ii*11
il=ii*99
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:99)=psp(793:891)*(-2.95803989154980806475d0)+psp(1288:1386)*2
$.95803989154980806475d0
sp(100:198)=psp(298:396)*(-2.09165006633518890666d0)+psp(991:1089)
$*6.27495019900556627590d0
sp(199:297)=psp(595:693)*6.70820393249936941515d0+psp(793:891)*(-1
$.11803398874989490253d0)+psp(1288:1386)*(-1.11803398874989490253d0
$)
sp(298:396)=psp(100:198)*3.16227766016837907870d0+psp(298:396)*(-2
$.37170824512628453107d0)+psp(991:1089)*(-2.37170824512628453107d0)
sp(397:495)=psp(1:99)+psp(199:297)*(-3.00000000000000000000d0)+psp
$(397:495)*0.37500000000000000000d0+psp(892:990)*(-3.00000000000000
$000000d0)+psp(1090:1188)*0.75000000000000000000d0+psp(1387:1485)*0
$.37500000000000000000d0
sp(496:594)=psp(496:594)*3.16227766016837907870d0+psp(694:792)*(-2
$.37170824512628453107d0)+psp(1189:1287)*(-2.37170824512628453107d0
$)
sp(595:693)=psp(199:297)*(-3.35410196624968470758d0)+psp(397:495)*
$0.55901699437494745126d0+psp(892:990)*3.35410196624968470758d0+psp
$(1387:1485)*(-0.55901699437494745126d0)
sp(694:792)=psp(694:792)*(-6.27495019900556627590d0)+psp(1189:1287
$)*2.09165006633518890666d0
sp(793:891)=psp(397:495)*0.73950997288745201619d0+psp(1090:1188)*(
$-4.43705983732471231917d0)+psp(1387:1485)*0.73950997288745201619d0
return
end
subroutine hrrspher_ggi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(2925),psp(4060)
real*8 gpi(585),hpi(819),ipi(1092),kpi(1404),gdi(1170),hdi(1638),i
$di(2184),gfi(1950),hfi(2730),xab,yab,zab
sp(1:145)=psp(1741:1885)*4.03015973628837986809d0+psp(3046:3190)*(
$-13.43386578762789973496d0)+psp(3771:3915)*4.03015973628837986809d
$0
sp(146:290)=psp(726:870)*2.32681380862329012515d0+psp(2321:2465)*(
$-23.26813808623289858701d0)+psp(3336:3480)*11.63406904311639955552
$d0
sp(291:435)=psp(1451:1595)*(-19.84313483298440061731d0)+psp(1741:1
$885)*1.98431348329843992850d0+psp(2756:2900)*19.843134832984400617
$31d0+psp(3771:3915)*(-1.98431348329843992850d0)
sp(436:580)=psp(436:580)*(-7.24568837309471991404d0)+psp(726:870)*
$2.71713313991052007879d0+psp(2031:2175)*21.73706511928419971014d0+
$psp(2321:2465)*(-5.43426627982104015757d0)+psp(3336:3480)*(-8.1513
$9941973155934818d0)
sp(581:725)=psp(1161:1305)*14.49137674618940074822d0+psp(1451:1595
$)*(-14.49137674618940074822d0)+psp(1741:1885)*0.905711046636839989
$25d0+psp(2756:2900)*(-14.49137674618940074822d0)+psp(3046:3190)*1.
$81142209327367997851d0+psp(3771:3915)*0.90571104663683998925d0
sp(726:870)=psp(146:290)*4.58257569495583982899d0+psp(436:580)*(-1
$1.45643923738959912839d0)+psp(726:870)*2.86410980934739978210d0+ps
$p(2031:2175)*(-11.45643923738959912839d0)+psp(2321:2465)*5.7282196
$1869479956420d0+psp(3336:3480)*2.86410980934739978210d0
sp(871:1015)=psp(1:145)+psp(291:435)*(-7.50000000000000000000d0)+p
$sp(581:725)*5.62500000000000000000d0+psp(871:1015)*(-0.31250000000
$000000000d0)+psp(1886:2030)*(-7.50000000000000000000d0)+psp(2176:2
$320)*11.25000000000000000000d0+psp(2466:2610)*(-0.9375000000000000
$0000d0)+psp(3191:3335)*5.62500000000000000000d0+psp(3481:3625)*(-0
$.93750000000000000000d0)+psp(3916:4060)*(-0.31250000000000000000d0
$)
sp(1016:1160)=psp(1016:1160)*4.58257569495583982899d0+psp(1306:145
$0)*(-11.45643923738959912839d0)+psp(1596:1740)*2.86410980934739978
$210d0+psp(2611:2755)*(-11.45643923738959912839d0)+psp(2901:3045)*5
$.72821961869479956420d0+psp(3626:3770)*2.86410980934739978210d0
sp(1161:1305)=psp(291:435)*(-7.24568837309471991404d0)+psp(581:725
$)*7.24568837309471991404d0+psp(871:1015)*(-0.45285552331841999463d
$0)+psp(1886:2030)*7.24568837309471991404d0+psp(2466:2610)*(-0.4528
$5552331841999463d0)+psp(3191:3335)*(-7.24568837309471991404d0)+psp
$(3481:3625)*0.45285552331841999463d0+psp(3916:4060)*0.452855523318
$41999463d0
sp(1306:1450)=psp(1306:1450)*(-21.73706511928419971014d0)+psp(1596
$:1740)*8.15139941973155934818d0+psp(2611:2755)*7.24568837309471991
$404d0+psp(2901:3045)*5.43426627982104015757d0+psp(3626:3770)*(-2.7
$1713313991052007879d0)
sp(1451:1595)=psp(581:725)*4.96078370824610992429d0+psp(871:1015)*
$(-0.49607837082461098133d0)+psp(2176:2320)*(-29.764702249476599149
$60d0)+psp(2466:2610)*2.48039185412305007716d0+psp(3191:3335)*4.960
$78370824610992429d0+psp(3481:3625)*2.48039185412305007716d0+psp(39
$16:4060)*(-0.49607837082461098133d0)
sp(1596:1740)=psp(1596:1740)*11.63406904311639955552d0+psp(2901:30
$45)*(-23.26813808623289858701d0)+psp(3626:3770)*2.3268138086232901
$2515d0
sp(1741:1885)=psp(871:1015)*(-0.67169328938139605256d0)+psp(2466:2
$610)*10.07539934072089948813d0+psp(3481:3625)*(-10.075399340720899
$48813d0)+psp(3916:4060)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*145
do ki=1,145
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
gpi(1:65)=psp(196:260)+zab*psp(1:65)
gpi(66:117)=psp(274:325)+zab*psp(66:117)
gpi(118:156)=psp(339:377)+zab*psp(118:156)
gpi(157:182)=psp(391:416)+zab*psp(157:182)
gpi(183:195)=psp(430:442)+zab*psp(183:195)
gpi(196:260)=psp(209:273)+yab*psp(1:65)
gpi(261:312)=psp(287:338)+yab*psp(66:117)
gpi(313:351)=psp(352:390)+yab*psp(118:156)
gpi(352:377)=psp(404:429)+yab*psp(157:182)
gpi(378:390)=psp(443:455)+yab*psp(183:195)
gpi(391:585)=psp(274:468)+xab*psp(1:195)
hpi(1:78)=psp(469:546)+zab*psp(196:273)
hpi(79:143)=psp(560:624)+zab*psp(274:338)
hpi(144:195)=psp(638:689)+zab*psp(339:390)
hpi(196:234)=psp(703:741)+zab*psp(391:429)
hpi(235:260)=psp(755:780)+zab*psp(430:455)
hpi(261:273)=psp(794:806)+zab*psp(456:468)
hpi(274:351)=psp(482:559)+yab*psp(196:273)
hpi(352:416)=psp(573:637)+yab*psp(274:338)
hpi(417:468)=psp(651:702)+yab*psp(339:390)
hpi(469:507)=psp(716:754)+yab*psp(391:429)
hpi(508:533)=psp(768:793)+yab*psp(430:455)
hpi(534:546)=psp(807:819)+yab*psp(456:468)
hpi(547:819)=psp(560:832)+xab*psp(196:468)
ipi(1:91)=psp(833:923)+zab*psp(469:559)
ipi(92:169)=psp(937:1014)+zab*psp(560:637)
ipi(170:234)=psp(1028:1092)+zab*psp(638:702)
ipi(235:286)=psp(1106:1157)+zab*psp(703:754)
ipi(287:325)=psp(1171:1209)+zab*psp(755:793)
ipi(326:351)=psp(1223:1248)+zab*psp(794:819)
ipi(352:364)=psp(1262:1274)+zab*psp(820:832)
ipi(365:455)=psp(846:936)+yab*psp(469:559)
ipi(456:533)=psp(950:1027)+yab*psp(560:637)
ipi(534:598)=psp(1041:1105)+yab*psp(638:702)
ipi(599:650)=psp(1119:1170)+yab*psp(703:754)
ipi(651:689)=psp(1184:1222)+yab*psp(755:793)
ipi(690:715)=psp(1236:1261)+yab*psp(794:819)
ipi(716:728)=psp(1275:1287)+yab*psp(820:832)
ipi(729:1092)=psp(937:1300)+xab*psp(469:832)
kpi(1:104)=psp(1301:1404)+zab*psp(833:936)
kpi(105:195)=psp(1418:1508)+zab*psp(937:1027)
kpi(196:273)=psp(1522:1599)+zab*psp(1028:1105)
kpi(274:338)=psp(1613:1677)+zab*psp(1106:1170)
kpi(339:390)=psp(1691:1742)+zab*psp(1171:1222)
kpi(391:429)=psp(1756:1794)+zab*psp(1223:1261)
kpi(430:455)=psp(1808:1833)+zab*psp(1262:1287)
kpi(456:468)=psp(1847:1859)+zab*psp(1288:1300)
kpi(469:572)=psp(1314:1417)+yab*psp(833:936)
kpi(573:663)=psp(1431:1521)+yab*psp(937:1027)
kpi(664:741)=psp(1535:1612)+yab*psp(1028:1105)
kpi(742:806)=psp(1626:1690)+yab*psp(1106:1170)
kpi(807:858)=psp(1704:1755)+yab*psp(1171:1222)
kpi(859:897)=psp(1769:1807)+yab*psp(1223:1261)
kpi(898:923)=psp(1821:1846)+yab*psp(1262:1287)
kpi(924:936)=psp(1860:1872)+yab*psp(1288:1300)
kpi(937:1404)=psp(1418:1885)+xab*psp(833:1300)
gdi(1:65)=hpi(1:65)+zab*gpi(1:65)
gdi(66:117)=hpi(79:130)+zab*gpi(66:117)
gdi(118:156)=hpi(144:182)+zab*gpi(118:156)
gdi(157:182)=hpi(196:221)+zab*gpi(157:182)
gdi(183:195)=hpi(235:247)+zab*gpi(183:195)
gdi(391:455)=hpi(287:351)+yab*gpi(196:260)
gdi(456:507)=hpi(365:416)+yab*gpi(261:312)
gdi(508:546)=hpi(430:468)+yab*gpi(313:351)
gdi(547:572)=hpi(482:507)+yab*gpi(352:377)
gdi(573:585)=hpi(521:533)+yab*gpi(378:390)
gdi(976:1170)=hpi(625:819)+xab*gpi(391:585)
hdi(1:78)=ipi(1:78)+zab*hpi(1:78)
hdi(79:143)=ipi(92:156)+zab*hpi(79:143)
hdi(144:195)=ipi(170:221)+zab*hpi(144:195)
hdi(196:234)=ipi(235:273)+zab*hpi(196:234)
hdi(235:260)=ipi(287:312)+zab*hpi(235:260)
hdi(261:273)=ipi(326:338)+zab*hpi(261:273)
hdi(547:624)=ipi(378:455)+yab*hpi(274:351)
hdi(625:689)=ipi(469:533)+yab*hpi(352:416)
hdi(690:741)=ipi(547:598)+yab*hpi(417:468)
hdi(742:780)=ipi(612:650)+yab*hpi(469:507)
hdi(781:806)=ipi(664:689)+yab*hpi(508:533)
hdi(807:819)=ipi(703:715)+yab*hpi(534:546)
hdi(1366:1638)=ipi(820:1092)+xab*hpi(547:819)
idi(1:91)=kpi(1:91)+zab*ipi(1:91)
idi(92:169)=kpi(105:182)+zab*ipi(92:169)
idi(170:234)=kpi(196:260)+zab*ipi(170:234)
idi(235:286)=kpi(274:325)+zab*ipi(235:286)
idi(287:325)=kpi(339:377)+zab*ipi(287:325)
idi(326:351)=kpi(391:416)+zab*ipi(326:351)
idi(352:364)=kpi(430:442)+zab*ipi(352:364)
idi(729:819)=kpi(482:572)+yab*ipi(365:455)
idi(820:897)=kpi(586:663)+yab*ipi(456:533)
idi(898:962)=kpi(677:741)+yab*ipi(534:598)
idi(963:1014)=kpi(755:806)+yab*ipi(599:650)
idi(1015:1053)=kpi(820:858)+yab*ipi(651:689)
idi(1054:1079)=kpi(872:897)+yab*ipi(690:715)
idi(1080:1092)=kpi(911:923)+yab*ipi(716:728)
idi(1821:2184)=kpi(1041:1404)+xab*ipi(729:1092)
gfi(1:65)=hdi(1:65)+zab*gdi(1:65)
gfi(66:117)=hdi(79:130)+zab*gdi(66:117)
gfi(118:156)=hdi(144:182)+zab*gdi(118:156)
gfi(157:182)=hdi(196:221)+zab*gdi(157:182)
gfi(183:195)=hdi(235:247)+zab*gdi(183:195)
gfi(196:260)=hdi(14:78)+yab*gdi(1:65)
gfi(261:312)=hdi(92:143)+yab*gdi(66:117)
gfi(313:351)=hdi(157:195)+yab*gdi(118:156)
gfi(352:377)=hdi(209:234)+yab*gdi(157:182)
gfi(378:390)=hdi(248:260)+yab*gdi(183:195)
gfi(586:650)=hdi(560:624)+yab*gdi(391:455)
gfi(651:702)=hdi(638:689)+yab*gdi(456:507)
gfi(703:741)=hdi(703:741)+yab*gdi(508:546)
gfi(742:767)=hdi(755:780)+yab*gdi(547:572)
gfi(768:780)=hdi(794:806)+yab*gdi(573:585)
gfi(1171:1365)=hdi(625:819)+xab*gdi(391:585)
gfi(1366:1430)=hdi(1366:1430)+zab*gdi(976:1040)
gfi(1431:1482)=hdi(1444:1495)+zab*gdi(1041:1092)
gfi(1483:1521)=hdi(1509:1547)+zab*gdi(1093:1131)
gfi(1522:1547)=hdi(1561:1586)+zab*gdi(1132:1157)
gfi(1548:1560)=hdi(1600:1612)+zab*gdi(1158:1170)
gfi(1756:1950)=hdi(1444:1638)+xab*gdi(976:1170)
hfi(1:78)=idi(1:78)+zab*hdi(1:78)
hfi(79:143)=idi(92:156)+zab*hdi(79:143)
hfi(144:195)=idi(170:221)+zab*hdi(144:195)
hfi(196:234)=idi(235:273)+zab*hdi(196:234)
hfi(235:260)=idi(287:312)+zab*hdi(235:260)
hfi(261:273)=idi(326:338)+zab*hdi(261:273)
hfi(274:351)=idi(14:91)+yab*hdi(1:78)
hfi(352:416)=idi(105:169)+yab*hdi(79:143)
hfi(417:468)=idi(183:234)+yab*hdi(144:195)
hfi(469:507)=idi(248:286)+yab*hdi(196:234)
hfi(508:533)=idi(300:325)+yab*hdi(235:260)
hfi(534:546)=idi(339:351)+yab*hdi(261:273)
hfi(820:897)=idi(742:819)+yab*hdi(547:624)
hfi(898:962)=idi(833:897)+yab*hdi(625:689)
hfi(963:1014)=idi(911:962)+yab*hdi(690:741)
hfi(1015:1053)=idi(976:1014)+yab*hdi(742:780)
hfi(1054:1079)=idi(1028:1053)+yab*hdi(781:806)
hfi(1080:1092)=idi(1067:1079)+yab*hdi(807:819)
hfi(1639:1911)=idi(820:1092)+xab*hdi(547:819)
hfi(1912:1989)=idi(1821:1898)+zab*hdi(1366:1443)
hfi(1990:2054)=idi(1912:1976)+zab*hdi(1444:1508)
hfi(2055:2106)=idi(1990:2041)+zab*hdi(1509:1560)
hfi(2107:2145)=idi(2055:2093)+zab*hdi(1561:1599)
hfi(2146:2171)=idi(2107:2132)+zab*hdi(1600:1625)
hfi(2172:2184)=idi(2146:2158)+zab*hdi(1626:1638)
hfi(2458:2730)=idi(1912:2184)+xab*hdi(1366:1638)
psp(1:65)=hfi(1:65)+zab*gfi(1:65)
psp(66:117)=hfi(79:130)+zab*gfi(66:117)
psp(118:156)=hfi(144:182)+zab*gfi(118:156)
psp(157:182)=hfi(196:221)+zab*gfi(157:182)
psp(183:195)=hfi(235:247)+zab*gfi(183:195)
psp(196:260)=hfi(14:78)+yab*gfi(1:65)
psp(261:312)=hfi(92:143)+yab*gfi(66:117)
psp(313:351)=hfi(157:195)+yab*gfi(118:156)
psp(352:377)=hfi(209:234)+yab*gfi(157:182)
psp(378:390)=hfi(248:260)+yab*gfi(183:195)
psp(391:455)=hfi(287:351)+yab*gfi(196:260)
psp(456:507)=hfi(365:416)+yab*gfi(261:312)
psp(508:546)=hfi(430:468)+yab*gfi(313:351)
psp(547:572)=hfi(482:507)+yab*gfi(352:377)
psp(573:585)=hfi(521:533)+yab*gfi(378:390)
psp(586:650)=hfi(820:884)+zab*gfi(586:650)
psp(651:702)=hfi(898:949)+zab*gfi(651:702)
psp(703:741)=hfi(963:1001)+zab*gfi(703:741)
psp(742:767)=hfi(1015:1040)+zab*gfi(742:767)
psp(768:780)=hfi(1054:1066)+zab*gfi(768:780)
psp(781:845)=hfi(833:897)+yab*gfi(586:650)
psp(846:897)=hfi(911:962)+yab*gfi(651:702)
psp(898:936)=hfi(976:1014)+yab*gfi(703:741)
psp(937:962)=hfi(1028:1053)+yab*gfi(742:767)
psp(963:975)=hfi(1067:1079)+yab*gfi(768:780)
psp(976:1170)=hfi(79:273)+xab*gfi(1:195)
psp(1171:1365)=hfi(352:546)+xab*gfi(196:390)
psp(1366:1430)=hfi(1639:1703)+zab*gfi(1171:1235)
psp(1431:1482)=hfi(1717:1768)+zab*gfi(1236:1287)
psp(1483:1521)=hfi(1782:1820)+zab*gfi(1288:1326)
psp(1522:1547)=hfi(1834:1859)+zab*gfi(1327:1352)
psp(1548:1560)=hfi(1873:1885)+zab*gfi(1353:1365)
psp(1561:1755)=hfi(898:1092)+xab*gfi(586:780)
psp(1756:1820)=hfi(1912:1976)+zab*gfi(1366:1430)
psp(1821:1872)=hfi(1990:2041)+zab*gfi(1431:1482)
psp(1873:1911)=hfi(2055:2093)+zab*gfi(1483:1521)
psp(1912:1937)=hfi(2107:2132)+zab*gfi(1522:1547)
psp(1938:1950)=hfi(2146:2158)+zab*gfi(1548:1560)
psp(1951:2015)=hfi(1925:1989)+yab*gfi(1366:1430)
psp(2016:2067)=hfi(2003:2054)+yab*gfi(1431:1482)
psp(2068:2106)=hfi(2068:2106)+yab*gfi(1483:1521)
psp(2107:2132)=hfi(2120:2145)+yab*gfi(1522:1547)
psp(2133:2145)=hfi(2159:2171)+yab*gfi(1548:1560)
psp(2146:2340)=hfi(1717:1911)+xab*gfi(1171:1365)
psp(2341:2405)=hfi(2458:2522)+zab*gfi(1756:1820)
psp(2406:2457)=hfi(2536:2587)+zab*gfi(1821:1872)
psp(2458:2496)=hfi(2601:2639)+zab*gfi(1873:1911)
psp(2497:2522)=hfi(2653:2678)+zab*gfi(1912:1937)
psp(2523:2535)=hfi(2692:2704)+zab*gfi(1938:1950)
psp(2536:2600)=hfi(2471:2535)+yab*gfi(1756:1820)
psp(2601:2652)=hfi(2549:2600)+yab*gfi(1821:1872)
psp(2653:2691)=hfi(2614:2652)+yab*gfi(1873:1911)
psp(2692:2717)=hfi(2666:2691)+yab*gfi(1912:1937)
psp(2718:2730)=hfi(2705:2717)+yab*gfi(1938:1950)
psp(2731:2925)=hfi(2536:2730)+xab*gfi(1756:1950)
sp(1:195)=psp(1561:1755)*(-2.95803989154980806475d0)+psp(2536:2730
$)*2.95803989154980806475d0
sp(196:390)=psp(586:780)*(-2.09165006633518890666d0)+psp(1951:2145
$)*6.27495019900556627590d0
sp(391:585)=psp(1171:1365)*6.70820393249936941515d0+psp(1561:1755)
$*(-1.11803398874989490253d0)+psp(2536:2730)*(-1.118033988749894902
$53d0)
sp(586:780)=psp(196:390)*3.16227766016837907870d0+psp(586:780)*(-2
$.37170824512628453107d0)+psp(1951:2145)*(-2.37170824512628453107d0
$)
sp(781:975)=psp(1:195)+psp(391:585)*(-3.00000000000000000000d0)+ps
$p(781:975)*0.37500000000000000000d0+psp(1756:1950)*(-3.00000000000
$000000000d0)+psp(2146:2340)*0.75000000000000000000d0+psp(2731:2925
$)*0.37500000000000000000d0
sp(976:1170)=psp(976:1170)*3.16227766016837907870d0+psp(1366:1560)
$*(-2.37170824512628453107d0)+psp(2341:2535)*(-2.371708245126284531
$07d0)
sp(1171:1365)=psp(391:585)*(-3.35410196624968470758d0)+psp(781:975
$)*0.55901699437494745126d0+psp(1756:1950)*3.35410196624968470758d0
$+psp(2731:2925)*(-0.55901699437494745126d0)
sp(1366:1560)=psp(1366:1560)*(-6.27495019900556627590d0)+psp(2341:
$2535)*2.09165006633518890666d0
sp(1561:1755)=psp(781:975)*0.73950997288745201619d0+psp(2146:2340)
$*(-4.43705983732471231917d0)+psp(2731:2925)*0.73950997288745201619
$d0
do ji=0,8
ki=ji*195
jk=ji*13
do ii=0,14
k=ii*13
il=ii*117
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:117)=psp(937:1053)*(-2.95803989154980806475d0)+psp(1522:1638)
$*2.95803989154980806475d0
sp(118:234)=psp(352:468)*(-2.09165006633518890666d0)+psp(1171:1287
$)*6.27495019900556627590d0
sp(235:351)=psp(703:819)*6.70820393249936941515d0+psp(937:1053)*(-
$1.11803398874989490253d0)+psp(1522:1638)*(-1.11803398874989490253d
$0)
sp(352:468)=psp(118:234)*3.16227766016837907870d0+psp(352:468)*(-2
$.37170824512628453107d0)+psp(1171:1287)*(-2.37170824512628453107d0
$)
sp(469:585)=psp(1:117)+psp(235:351)*(-3.00000000000000000000d0)+ps
$p(469:585)*0.37500000000000000000d0+psp(1054:1170)*(-3.00000000000
$000000000d0)+psp(1288:1404)*0.75000000000000000000d0+psp(1639:1755
$)*0.37500000000000000000d0
sp(586:702)=psp(586:702)*3.16227766016837907870d0+psp(820:936)*(-2
$.37170824512628453107d0)+psp(1405:1521)*(-2.37170824512628453107d0
$)
sp(703:819)=psp(235:351)*(-3.35410196624968470758d0)+psp(469:585)*
$0.55901699437494745126d0+psp(1054:1170)*3.35410196624968470758d0+p
$sp(1639:1755)*(-0.55901699437494745126d0)
sp(820:936)=psp(820:936)*(-6.27495019900556627590d0)+psp(1405:1521
$)*2.09165006633518890666d0
sp(937:1053)=psp(469:585)*0.73950997288745201619d0+psp(1288:1404)*
$(-4.43705983732471231917d0)+psp(1639:1755)*0.73950997288745201619d
$0
return
end
subroutine hrrspher_hss_(psp,sp)
implicit none
real*8 sp(21),psp(21)
sp(1)=psp(6)*0.70156076002011391601d0+psp(15)*(-7.0156076002011387
$1605d0)+psp(20)*3.50780380010056935802d0
sp(2)=psp(10)*(-8.87411967464942463835d0)+psp(17)*8.87411967464942
$463835d0
sp(3)=psp(4)*(-4.18330013267037692515d0)+psp(6)*0.5229125165837971
$1564d0+psp(13)*12.54990039801113255180d0+psp(15)*(-1.0458250331675
$9423129d0)+psp(20)*(-1.56873754975139156898d0)
sp(4)=psp(8)*10.24695076595959974952d0+psp(10)*(-5.123475382979799
$87476d0)+psp(17)*(-5.12347538297979987476d0)
sp(5)=psp(2)*3.87298334620741613321d0+psp(4)*(-5.80947501931112419
$982d0)+psp(6)*0.48412291827592701665d0+psp(13)*(-5.809475019311124
$19982d0)+psp(15)*0.96824583655185403330d0+psp(20)*0.48412291827592
$701665d0
sp(6)=psp(1)+psp(3)*(-5.00000000000000000000d0)+psp(5)*1.875000000
$00000000000d0+psp(12)*(-5.00000000000000000000d0)+psp(14)*3.750000
$00000000000000d0+psp(19)*1.87500000000000000000d0
sp(7)=psp(7)*3.87298334620741613321d0+psp(9)*(-5.80947501931112419
$982d0)+psp(11)*0.48412291827592701665d0+psp(16)*(-5.80947501931112
$419982d0)+psp(18)*0.96824583655185403330d0+psp(21)*0.4841229182759
$2701665d0
sp(8)=psp(3)*(-5.12347538297979987476d0)+psp(5)*2.5617376914898999
$3738d0+psp(12)*5.12347538297979987476d0+psp(19)*(-2.56173769148989
$993738d0)
sp(9)=psp(9)*(-12.54990039801113255180d0)+psp(11)*1.56873754975139
$156898d0+psp(16)*4.18330013267037692515d0+psp(18)*1.04582503316759
$423129d0+psp(21)*(-0.52291251658379711564d0)
sp(10)=psp(5)*2.21852991866235615959d0+psp(14)*(-13.31117951197413
$695752d0)+psp(19)*2.21852991866235615959d0
sp(11)=psp(11)*3.50780380010056935802d0+psp(18)*(-7.01560760020113
$871605d0)+psp(21)*0.70156076002011391601d0
return
end
subroutine hrrspher_hsp_(psp,sp)
implicit none
real*8 sp(63),psp(63)
sp(1:3)=psp(16:18)*0.70156076002011391601d0+psp(43:45)*(-7.0156076
$0020113871605d0)+psp(58:60)*3.50780380010056935802d0
sp(4:6)=psp(28:30)*(-8.87411967464942463835d0)+psp(49:51)*8.874119
$67464942463835d0
sp(7:9)=psp(10:12)*(-4.18330013267037692515d0)+psp(16:18)*0.522912
$51658379711564d0+psp(37:39)*12.54990039801113255180d0+psp(43:45)*(
$-1.04582503316759423129d0)+psp(58:60)*(-1.56873754975139156898d0)
sp(10:12)=psp(22:24)*10.24695076595959974952d0+psp(28:30)*(-5.1234
$7538297979987476d0)+psp(49:51)*(-5.12347538297979987476d0)
sp(13:15)=psp(4:6)*3.87298334620741613321d0+psp(10:12)*(-5.8094750
$1931112419982d0)+psp(16:18)*0.48412291827592701665d0+psp(37:39)*(-
$5.80947501931112419982d0)+psp(43:45)*0.96824583655185403330d0+psp(
$58:60)*0.48412291827592701665d0
sp(16:18)=psp(1:3)+psp(7:9)*(-5.00000000000000000000d0)+psp(13:15)
$*1.87500000000000000000d0+psp(34:36)*(-5.00000000000000000000d0)+p
$sp(40:42)*3.75000000000000000000d0+psp(55:57)*1.875000000000000000
$00d0
sp(19:21)=psp(19:21)*3.87298334620741613321d0+psp(25:27)*(-5.80947
$501931112419982d0)+psp(31:33)*0.48412291827592701665d0+psp(46:48)*
$(-5.80947501931112419982d0)+psp(52:54)*0.96824583655185403330d0+ps
$p(61:63)*0.48412291827592701665d0
sp(22:24)=psp(7:9)*(-5.12347538297979987476d0)+psp(13:15)*2.561737
$69148989993738d0+psp(34:36)*5.12347538297979987476d0+psp(55:57)*(-
$2.56173769148989993738d0)
sp(25:27)=psp(25:27)*(-12.54990039801113255180d0)+psp(31:33)*1.568
$73754975139156898d0+psp(46:48)*4.18330013267037692515d0+psp(52:54)
$*1.04582503316759423129d0+psp(61:63)*(-0.52291251658379711564d0)
sp(28:30)=psp(13:15)*2.21852991866235615959d0+psp(40:42)*(-13.3111
$7951197413695752d0)+psp(55:57)*2.21852991866235615959d0
sp(31:33)=psp(31:33)*3.50780380010056935802d0+psp(52:54)*(-7.01560
$760020113871605d0)+psp(61:63)*0.70156076002011391601d0
return
end
subroutine hrrspher_hsd_(psp,sp)
implicit none
integer ii,ki
real*8 sp(105),psp(126)
sp(1:21)=psp(85:105)*1.73205080756887697113d0
sp(22:42)=psp(22:42)*1.73205080756887697113d0
sp(43:63)=psp(1:21)+psp(43:63)*(-0.50000000000000000000d0)+psp(106
$:126)*(-0.50000000000000000000d0)
sp(64:84)=psp(64:84)*1.73205080756887697113d0
sp(85:105)=psp(43:63)*(-0.86602540378443848557d0)+psp(106:126)*0.8
$6602540378443848557d0
do ii=1,5
do ki=1,21
psp((ki-1)*5+ii)=sp((ii-1)*21+ki)
enddo
enddo
sp(1:5)=psp(26:30)*0.70156076002011391601d0+psp(71:75)*(-7.0156076
$0020113871605d0)+psp(96:100)*3.50780380010056935802d0
sp(6:10)=psp(46:50)*(-8.87411967464942463835d0)+psp(81:85)*8.87411
$967464942463835d0
sp(11:15)=psp(16:20)*(-4.18330013267037692515d0)+psp(26:30)*0.5229
$1251658379711564d0+psp(61:65)*12.54990039801113255180d0+psp(71:75)
$*(-1.04582503316759423129d0)+psp(96:100)*(-1.56873754975139156898d
$0)
sp(16:20)=psp(36:40)*10.24695076595959974952d0+psp(46:50)*(-5.1234
$7538297979987476d0)+psp(81:85)*(-5.12347538297979987476d0)
sp(21:25)=psp(6:10)*3.87298334620741613321d0+psp(16:20)*(-5.809475
$01931112419982d0)+psp(26:30)*0.48412291827592701665d0+psp(61:65)*(
$-5.80947501931112419982d0)+psp(71:75)*0.96824583655185403330d0+psp
$(96:100)*0.48412291827592701665d0
sp(26:30)=psp(1:5)+psp(11:15)*(-5.00000000000000000000d0)+psp(21:2
$5)*1.87500000000000000000d0+psp(56:60)*(-5.00000000000000000000d0)
$+psp(66:70)*3.75000000000000000000d0+psp(91:95)*1.8750000000000000
$0000d0
sp(31:35)=psp(31:35)*3.87298334620741613321d0+psp(41:45)*(-5.80947
$501931112419982d0)+psp(51:55)*0.48412291827592701665d0+psp(76:80)*
$(-5.80947501931112419982d0)+psp(86:90)*0.96824583655185403330d0+ps
$p(101:105)*0.48412291827592701665d0
sp(36:40)=psp(11:15)*(-5.12347538297979987476d0)+psp(21:25)*2.5617
$3769148989993738d0+psp(56:60)*5.12347538297979987476d0+psp(91:95)*
$(-2.56173769148989993738d0)
sp(41:45)=psp(41:45)*(-12.54990039801113255180d0)+psp(51:55)*1.568
$73754975139156898d0+psp(76:80)*4.18330013267037692515d0+psp(86:90)
$*1.04582503316759423129d0+psp(101:105)*(-0.52291251658379711564d0)
sp(46:50)=psp(21:25)*2.21852991866235615959d0+psp(66:70)*(-13.3111
$7951197413695752d0)+psp(91:95)*2.21852991866235615959d0
sp(51:55)=psp(51:55)*3.50780380010056935802d0+psp(86:90)*(-7.01560
$760020113871605d0)+psp(101:105)*0.70156076002011391601d0
return
end
subroutine hrrspher_hsf_(psp,sp)
implicit none
integer ii,ki
real*8 sp(147),psp(210)
sp(1:21)=psp(64:84)*(-0.79056941504209476967d0)+psp(169:189)*2.371
$70824512628453107d0
sp(22:42)=psp(106:126)*3.87298334620741657730d0
sp(43:63)=psp(22:42)*2.44948974278317788134d0+psp(64:84)*(-0.61237
$243569579447033d0)+psp(169:189)*(-0.61237243569579447033d0)
sp(64:84)=psp(1:21)+psp(43:63)*(-1.50000000000000000000d0)+psp(148
$:168)*(-1.50000000000000000000d0)
sp(85:105)=psp(85:105)*2.44948974278317788134d0+psp(127:147)*(-0.6
$1237243569579447033d0)+psp(190:210)*(-0.61237243569579447033d0)
sp(106:126)=psp(43:63)*(-1.93649167310370828865d0)+psp(148:168)*1.
$93649167310370828865d0
sp(127:147)=psp(127:147)*(-2.37170824512628453107d0)+psp(190:210)*
$0.79056941504209476967d0
do ii=1,7
do ki=1,21
psp((ki-1)*7+ii)=sp((ii-1)*21+ki)
enddo
enddo
sp(1:7)=psp(36:42)*0.70156076002011391601d0+psp(99:105)*(-7.015607
$60020113871605d0)+psp(134:140)*3.50780380010056935802d0
sp(8:14)=psp(64:70)*(-8.87411967464942463835d0)+psp(113:119)*8.874
$11967464942463835d0
sp(15:21)=psp(22:28)*(-4.18330013267037692515d0)+psp(36:42)*0.5229
$1251658379711564d0+psp(85:91)*12.54990039801113255180d0+psp(99:105
$)*(-1.04582503316759423129d0)+psp(134:140)*(-1.5687375497513915689
$8d0)
sp(22:28)=psp(50:56)*10.24695076595959974952d0+psp(64:70)*(-5.1234
$7538297979987476d0)+psp(113:119)*(-5.12347538297979987476d0)
sp(29:35)=psp(8:14)*3.87298334620741613321d0+psp(22:28)*(-5.809475
$01931112419982d0)+psp(36:42)*0.48412291827592701665d0+psp(85:91)*(
$-5.80947501931112419982d0)+psp(99:105)*0.96824583655185403330d0+ps
$p(134:140)*0.48412291827592701665d0
sp(36:42)=psp(1:7)+psp(15:21)*(-5.00000000000000000000d0)+psp(29:3
$5)*1.87500000000000000000d0+psp(78:84)*(-5.00000000000000000000d0)
$+psp(92:98)*3.75000000000000000000d0+psp(127:133)*1.87500000000000
$000000d0
sp(43:49)=psp(43:49)*3.87298334620741613321d0+psp(57:63)*(-5.80947
$501931112419982d0)+psp(71:77)*0.48412291827592701665d0+psp(106:112
$)*(-5.80947501931112419982d0)+psp(120:126)*0.96824583655185403330d
$0+psp(141:147)*0.48412291827592701665d0
sp(50:56)=psp(15:21)*(-5.12347538297979987476d0)+psp(29:35)*2.5617
$3769148989993738d0+psp(78:84)*5.12347538297979987476d0+psp(127:133
$)*(-2.56173769148989993738d0)
sp(57:63)=psp(57:63)*(-12.54990039801113255180d0)+psp(71:77)*1.568
$73754975139156898d0+psp(106:112)*4.18330013267037692515d0+psp(120:
$126)*1.04582503316759423129d0+psp(141:147)*(-0.5229125165837971156
$4d0)
sp(64:70)=psp(29:35)*2.21852991866235615959d0+psp(92:98)*(-13.3111
$7951197413695752d0)+psp(127:133)*2.21852991866235615959d0
sp(71:77)=psp(71:77)*3.50780380010056935802d0+psp(120:126)*(-7.015
$60760020113871605d0)+psp(141:147)*0.70156076002011391601d0
return
end
subroutine hrrspher_hsg_(psp,sp)
implicit none
integer ii,ki
real*8 sp(189),psp(315)
sp(1:21)=psp(169:189)*(-2.95803989154980806475d0)+psp(274:294)*2.9
$5803989154980806475d0
sp(22:42)=psp(64:84)*(-2.09165006633518890666d0)+psp(211:231)*6.27
$495019900556627590d0
sp(43:63)=psp(127:147)*6.70820393249936941515d0+psp(169:189)*(-1.1
$1803398874989490253d0)+psp(274:294)*(-1.11803398874989490253d0)
sp(64:84)=psp(22:42)*3.16227766016837907870d0+psp(64:84)*(-2.37170
$824512628453107d0)+psp(211:231)*(-2.37170824512628453107d0)
sp(85:105)=psp(1:21)+psp(43:63)*(-3.00000000000000000000d0)+psp(85
$:105)*0.37500000000000000000d0+psp(190:210)*(-3.000000000000000000
$00d0)+psp(232:252)*0.75000000000000000000d0+psp(295:315)*0.3750000
$0000000000000d0
sp(106:126)=psp(106:126)*3.16227766016837907870d0+psp(148:168)*(-2
$.37170824512628453107d0)+psp(253:273)*(-2.37170824512628453107d0)
sp(127:147)=psp(43:63)*(-3.35410196624968470758d0)+psp(85:105)*0.5
$5901699437494745126d0+psp(190:210)*3.35410196624968470758d0+psp(29
$5:315)*(-0.55901699437494745126d0)
sp(148:168)=psp(148:168)*(-6.27495019900556627590d0)+psp(253:273)*
$2.09165006633518890666d0
sp(169:189)=psp(85:105)*0.73950997288745201619d0+psp(232:252)*(-4.
$43705983732471231917d0)+psp(295:315)*0.73950997288745201619d0
do ii=1,9
do ki=1,21
psp((ki-1)*9+ii)=sp((ii-1)*21+ki)
enddo
enddo
sp(1:9)=psp(46:54)*0.70156076002011391601d0+psp(127:135)*(-7.01560
$760020113871605d0)+psp(172:180)*3.50780380010056935802d0
sp(10:18)=psp(82:90)*(-8.87411967464942463835d0)+psp(145:153)*8.87
$411967464942463835d0
sp(19:27)=psp(28:36)*(-4.18330013267037692515d0)+psp(46:54)*0.5229
$1251658379711564d0+psp(109:117)*12.54990039801113255180d0+psp(127:
$135)*(-1.04582503316759423129d0)+psp(172:180)*(-1.5687375497513915
$6898d0)
sp(28:36)=psp(64:72)*10.24695076595959974952d0+psp(82:90)*(-5.1234
$7538297979987476d0)+psp(145:153)*(-5.12347538297979987476d0)
sp(37:45)=psp(10:18)*3.87298334620741613321d0+psp(28:36)*(-5.80947
$501931112419982d0)+psp(46:54)*0.48412291827592701665d0+psp(109:117
$)*(-5.80947501931112419982d0)+psp(127:135)*0.96824583655185403330d
$0+psp(172:180)*0.48412291827592701665d0
sp(46:54)=psp(1:9)+psp(19:27)*(-5.00000000000000000000d0)+psp(37:4
$5)*1.87500000000000000000d0+psp(100:108)*(-5.00000000000000000000d
$0)+psp(118:126)*3.75000000000000000000d0+psp(163:171)*1.8750000000
$0000000000d0
sp(55:63)=psp(55:63)*3.87298334620741613321d0+psp(73:81)*(-5.80947
$501931112419982d0)+psp(91:99)*0.48412291827592701665d0+psp(136:144
$)*(-5.80947501931112419982d0)+psp(154:162)*0.96824583655185403330d
$0+psp(181:189)*0.48412291827592701665d0
sp(64:72)=psp(19:27)*(-5.12347538297979987476d0)+psp(37:45)*2.5617
$3769148989993738d0+psp(100:108)*5.12347538297979987476d0+psp(163:1
$71)*(-2.56173769148989993738d0)
sp(73:81)=psp(73:81)*(-12.54990039801113255180d0)+psp(91:99)*1.568
$73754975139156898d0+psp(136:144)*4.18330013267037692515d0+psp(154:
$162)*1.04582503316759423129d0+psp(181:189)*(-0.5229125165837971156
$4d0)
sp(82:90)=psp(37:45)*2.21852991866235615959d0+psp(118:126)*(-13.31
$117951197413695752d0)+psp(163:171)*2.21852991866235615959d0
sp(91:99)=psp(91:99)*3.50780380010056935802d0+psp(154:162)*(-7.015
$60760020113871605d0)+psp(181:189)*0.70156076002011391601d0
return
end
subroutine hrrspher_hsh_(psp,sp)
implicit none
integer ii,ki
real*8 sp(231),psp(441)
sp(1:21)=psp(106:126)*0.70156076002011391601d0+psp(295:315)*(-7.01
$560760020113871605d0)+psp(400:420)*3.50780380010056935802d0
sp(22:42)=psp(190:210)*(-8.87411967464942463835d0)+psp(337:357)*8.
$87411967464942463835d0
sp(43:63)=psp(64:84)*(-4.18330013267037692515d0)+psp(106:126)*0.52
$291251658379711564d0+psp(253:273)*12.54990039801113255180d0+psp(29
$5:315)*(-1.04582503316759423129d0)+psp(400:420)*(-1.56873754975139
$156898d0)
sp(64:84)=psp(148:168)*10.24695076595959974952d0+psp(190:210)*(-5.
$12347538297979987476d0)+psp(337:357)*(-5.12347538297979987476d0)
sp(85:105)=psp(22:42)*3.87298334620741613321d0+psp(64:84)*(-5.8094
$7501931112419982d0)+psp(106:126)*0.48412291827592701665d0+psp(253:
$273)*(-5.80947501931112419982d0)+psp(295:315)*0.968245836551854033
$30d0+psp(400:420)*0.48412291827592701665d0
sp(106:126)=psp(1:21)+psp(43:63)*(-5.00000000000000000000d0)+psp(8
$5:105)*1.87500000000000000000d0+psp(232:252)*(-5.00000000000000000
$000d0)+psp(274:294)*3.75000000000000000000d0+psp(379:399)*1.875000
$00000000000000d0
sp(127:147)=psp(127:147)*3.87298334620741613321d0+psp(169:189)*(-5
$.80947501931112419982d0)+psp(211:231)*0.48412291827592701665d0+psp
$(316:336)*(-5.80947501931112419982d0)+psp(358:378)*0.9682458365518
$5403330d0+psp(421:441)*0.48412291827592701665d0
sp(148:168)=psp(43:63)*(-5.12347538297979987476d0)+psp(85:105)*2.5
$6173769148989993738d0+psp(232:252)*5.12347538297979987476d0+psp(37
$9:399)*(-2.56173769148989993738d0)
sp(169:189)=psp(169:189)*(-12.54990039801113255180d0)+psp(211:231)
$*1.56873754975139156898d0+psp(316:336)*4.18330013267037692515d0+ps
$p(358:378)*1.04582503316759423129d0+psp(421:441)*(-0.5229125165837
$9711564d0)
sp(190:210)=psp(85:105)*2.21852991866235615959d0+psp(274:294)*(-13
$.31117951197413695752d0)+psp(379:399)*2.21852991866235615959d0
sp(211:231)=psp(211:231)*3.50780380010056935802d0+psp(358:378)*(-7
$.01560760020113871605d0)+psp(421:441)*0.70156076002011391601d0
do ii=1,11
do ki=1,21
psp((ki-1)*11+ii)=sp((ii-1)*21+ki)
enddo
enddo
sp(1:11)=psp(56:66)*0.70156076002011391601d0+psp(155:165)*(-7.0156
$0760020113871605d0)+psp(210:220)*3.50780380010056935802d0
sp(12:22)=psp(100:110)*(-8.87411967464942463835d0)+psp(177:187)*8.
$87411967464942463835d0
sp(23:33)=psp(34:44)*(-4.18330013267037692515d0)+psp(56:66)*0.5229
$1251658379711564d0+psp(133:143)*12.54990039801113255180d0+psp(155:
$165)*(-1.04582503316759423129d0)+psp(210:220)*(-1.5687375497513915
$6898d0)
sp(34:44)=psp(78:88)*10.24695076595959974952d0+psp(100:110)*(-5.12
$347538297979987476d0)+psp(177:187)*(-5.12347538297979987476d0)
sp(45:55)=psp(12:22)*3.87298334620741613321d0+psp(34:44)*(-5.80947
$501931112419982d0)+psp(56:66)*0.48412291827592701665d0+psp(133:143
$)*(-5.80947501931112419982d0)+psp(155:165)*0.96824583655185403330d
$0+psp(210:220)*0.48412291827592701665d0
sp(56:66)=psp(1:11)+psp(23:33)*(-5.00000000000000000000d0)+psp(45:
$55)*1.87500000000000000000d0+psp(122:132)*(-5.00000000000000000000
$d0)+psp(144:154)*3.75000000000000000000d0+psp(199:209)*1.875000000
$00000000000d0
sp(67:77)=psp(67:77)*3.87298334620741613321d0+psp(89:99)*(-5.80947
$501931112419982d0)+psp(111:121)*0.48412291827592701665d0+psp(166:1
$76)*(-5.80947501931112419982d0)+psp(188:198)*0.9682458365518540333
$0d0+psp(221:231)*0.48412291827592701665d0
sp(78:88)=psp(23:33)*(-5.12347538297979987476d0)+psp(45:55)*2.5617
$3769148989993738d0+psp(122:132)*5.12347538297979987476d0+psp(199:2
$09)*(-2.56173769148989993738d0)
sp(89:99)=psp(89:99)*(-12.54990039801113255180d0)+psp(111:121)*1.5
$6873754975139156898d0+psp(166:176)*4.18330013267037692515d0+psp(18
$8:198)*1.04582503316759423129d0+psp(221:231)*(-0.52291251658379711
$564d0)
sp(100:110)=psp(45:55)*2.21852991866235615959d0+psp(144:154)*(-13.
$31117951197413695752d0)+psp(199:209)*2.21852991866235615959d0
sp(111:121)=psp(111:121)*3.50780380010056935802d0+psp(188:198)*(-7
$.01560760020113871605d0)+psp(221:231)*0.70156076002011391601d0
return
end
subroutine hrrspher_hsi_(psp,sp)
implicit none
integer ii,ki
real*8 sp(273),psp(588)
sp(1:21)=psp(253:273)*4.03015973628837986809d0+psp(442:462)*(-13.4
$3386578762789973496d0)+psp(547:567)*4.03015973628837986809d0
sp(22:42)=psp(106:126)*2.32681380862329012515d0+psp(337:357)*(-23.
$26813808623289858701d0)+psp(484:504)*11.63406904311639955552d0
sp(43:63)=psp(211:231)*(-19.84313483298440061731d0)+psp(253:273)*1
$.98431348329843992850d0+psp(400:420)*19.84313483298440061731d0+psp
$(547:567)*(-1.98431348329843992850d0)
sp(64:84)=psp(64:84)*(-7.24568837309471991404d0)+psp(106:126)*2.71
$713313991052007879d0+psp(295:315)*21.73706511928419971014d0+psp(33
$7:357)*(-5.43426627982104015757d0)+psp(484:504)*(-8.15139941973155
$934818d0)
sp(85:105)=psp(169:189)*14.49137674618940074822d0+psp(211:231)*(-1
$4.49137674618940074822d0)+psp(253:273)*0.90571104663683998925d0+ps
$p(400:420)*(-14.49137674618940074822d0)+psp(442:462)*1.81142209327
$367997851d0+psp(547:567)*0.90571104663683998925d0
sp(106:126)=psp(22:42)*4.58257569495583982899d0+psp(64:84)*(-11.45
$643923738959912839d0)+psp(106:126)*2.86410980934739978210d0+psp(29
$5:315)*(-11.45643923738959912839d0)+psp(337:357)*5.728219618694799
$56420d0+psp(484:504)*2.86410980934739978210d0
sp(127:147)=psp(1:21)+psp(43:63)*(-7.50000000000000000000d0)+psp(8
$5:105)*5.62500000000000000000d0+psp(127:147)*(-0.31250000000000000
$000d0)+psp(274:294)*(-7.50000000000000000000d0)+psp(316:336)*11.25
$000000000000000000d0+psp(358:378)*(-0.93750000000000000000d0)+psp(
$463:483)*5.62500000000000000000d0+psp(505:525)*(-0.937500000000000
$00000d0)+psp(568:588)*(-0.31250000000000000000d0)
sp(148:168)=psp(148:168)*4.58257569495583982899d0+psp(190:210)*(-1
$1.45643923738959912839d0)+psp(232:252)*2.86410980934739978210d0+ps
$p(379:399)*(-11.45643923738959912839d0)+psp(421:441)*5.72821961869
$479956420d0+psp(526:546)*2.86410980934739978210d0
sp(169:189)=psp(43:63)*(-7.24568837309471991404d0)+psp(85:105)*7.2
$4568837309471991404d0+psp(127:147)*(-0.45285552331841999463d0)+psp
$(274:294)*7.24568837309471991404d0+psp(358:378)*(-0.45285552331841
$999463d0)+psp(463:483)*(-7.24568837309471991404d0)+psp(505:525)*0.
$45285552331841999463d0+psp(568:588)*0.45285552331841999463d0
sp(190:210)=psp(190:210)*(-21.73706511928419971014d0)+psp(232:252)
$*8.15139941973155934818d0+psp(379:399)*7.24568837309471991404d0+ps
$p(421:441)*5.43426627982104015757d0+psp(526:546)*(-2.7171331399105
$2007879d0)
sp(211:231)=psp(85:105)*4.96078370824610992429d0+psp(127:147)*(-0.
$49607837082461098133d0)+psp(316:336)*(-29.76470224947659914960d0)+
$psp(358:378)*2.48039185412305007716d0+psp(463:483)*4.9607837082461
$0992429d0+psp(505:525)*2.48039185412305007716d0+psp(568:588)*(-0.4
$9607837082461098133d0)
sp(232:252)=psp(232:252)*11.63406904311639955552d0+psp(421:441)*(-
$23.26813808623289858701d0)+psp(526:546)*2.32681380862329012515d0
sp(253:273)=psp(127:147)*(-0.67169328938139605256d0)+psp(358:378)*
$10.07539934072089948813d0+psp(505:525)*(-10.07539934072089948813d0
$)+psp(568:588)*0.67169328938139605256d0
do ii=1,13
do ki=1,21
psp((ki-1)*13+ii)=sp((ii-1)*21+ki)
enddo
enddo
sp(1:13)=psp(66:78)*0.70156076002011391601d0+psp(183:195)*(-7.0156
$0760020113871605d0)+psp(248:260)*3.50780380010056935802d0
sp(14:26)=psp(118:130)*(-8.87411967464942463835d0)+psp(209:221)*8.
$87411967464942463835d0
sp(27:39)=psp(40:52)*(-4.18330013267037692515d0)+psp(66:78)*0.5229
$1251658379711564d0+psp(157:169)*12.54990039801113255180d0+psp(183:
$195)*(-1.04582503316759423129d0)+psp(248:260)*(-1.5687375497513915
$6898d0)
sp(40:52)=psp(92:104)*10.24695076595959974952d0+psp(118:130)*(-5.1
$2347538297979987476d0)+psp(209:221)*(-5.12347538297979987476d0)
sp(53:65)=psp(14:26)*3.87298334620741613321d0+psp(40:52)*(-5.80947
$501931112419982d0)+psp(66:78)*0.48412291827592701665d0+psp(157:169
$)*(-5.80947501931112419982d0)+psp(183:195)*0.96824583655185403330d
$0+psp(248:260)*0.48412291827592701665d0
sp(66:78)=psp(1:13)+psp(27:39)*(-5.00000000000000000000d0)+psp(53:
$65)*1.87500000000000000000d0+psp(144:156)*(-5.00000000000000000000
$d0)+psp(170:182)*3.75000000000000000000d0+psp(235:247)*1.875000000
$00000000000d0
sp(79:91)=psp(79:91)*3.87298334620741613321d0+psp(105:117)*(-5.809
$47501931112419982d0)+psp(131:143)*0.48412291827592701665d0+psp(196
$:208)*(-5.80947501931112419982d0)+psp(222:234)*0.96824583655185403
$330d0+psp(261:273)*0.48412291827592701665d0
sp(92:104)=psp(27:39)*(-5.12347538297979987476d0)+psp(53:65)*2.561
$73769148989993738d0+psp(144:156)*5.12347538297979987476d0+psp(235:
$247)*(-2.56173769148989993738d0)
sp(105:117)=psp(105:117)*(-12.54990039801113255180d0)+psp(131:143)
$*1.56873754975139156898d0+psp(196:208)*4.18330013267037692515d0+ps
$p(222:234)*1.04582503316759423129d0+psp(261:273)*(-0.5229125165837
$9711564d0)
sp(118:130)=psp(53:65)*2.21852991866235615959d0+psp(170:182)*(-13.
$31117951197413695752d0)+psp(235:247)*2.21852991866235615959d0
sp(131:143)=psp(131:143)*3.50780380010056935802d0+psp(222:234)*(-7
$.01560760020113871605d0)+psp(261:273)*0.70156076002011391601d0
return
end
subroutine hrrspher_hps_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(63),psp(49)
real*8 psp2(63)
real*8 xab,yab,zab
psp2(1)=psp(22)+zab*psp(1)
psp2(2)=psp(23)+yab*psp(1)
psp2(3)=psp(29)+xab*psp(1)
psp2(4)=psp(23)+zab*psp(2)
psp2(5)=psp(24)+yab*psp(2)
psp2(6)=psp(30)+xab*psp(2)
psp2(7)=psp(24)+zab*psp(3)
psp2(8)=psp(25)+yab*psp(3)
psp2(9)=psp(31)+xab*psp(3)
psp2(10)=psp(25)+zab*psp(4)
psp2(11)=psp(26)+yab*psp(4)
psp2(12)=psp(32)+xab*psp(4)
psp2(13)=psp(26)+zab*psp(5)
psp2(14)=psp(27)+yab*psp(5)
psp2(15)=psp(33)+xab*psp(5)
psp2(16)=psp(27)+zab*psp(6)
psp2(17)=psp(28)+yab*psp(6)
psp2(18)=psp(34)+xab*psp(6)
psp2(19)=psp(29)+zab*psp(7)
psp2(20)=psp(30)+yab*psp(7)
psp2(21)=psp(35)+xab*psp(7)
psp2(22)=psp(30)+zab*psp(8)
psp2(23)=psp(31)+yab*psp(8)
psp2(24)=psp(36)+xab*psp(8)
psp2(25)=psp(31)+zab*psp(9)
psp2(26)=psp(32)+yab*psp(9)
psp2(27)=psp(37)+xab*psp(9)
psp2(28)=psp(32)+zab*psp(10)
psp2(29)=psp(33)+yab*psp(10)
psp2(30)=psp(38)+xab*psp(10)
psp2(31)=psp(33)+zab*psp(11)
psp2(32)=psp(34)+yab*psp(11)
psp2(33)=psp(39)+xab*psp(11)
psp2(34)=psp(35)+zab*psp(12)
psp2(35)=psp(36)+yab*psp(12)
psp2(36)=psp(40)+xab*psp(12)
psp2(37)=psp(36)+zab*psp(13)
psp2(38)=psp(37)+yab*psp(13)
psp2(39)=psp(41)+xab*psp(13)
psp2(40)=psp(37)+zab*psp(14)
psp2(41)=psp(38)+yab*psp(14)
psp2(42)=psp(42)+xab*psp(14)
psp2(43)=psp(38)+zab*psp(15)
psp2(44)=psp(39)+yab*psp(15)
psp2(45)=psp(43)+xab*psp(15)
psp2(46)=psp(40)+zab*psp(16)
psp2(47)=psp(41)+yab*psp(16)
psp2(48)=psp(44)+xab*psp(16)
psp2(49)=psp(41)+zab*psp(17)
psp2(50)=psp(42)+yab*psp(17)
psp2(51)=psp(45)+xab*psp(17)
psp2(52)=psp(42)+zab*psp(18)
psp2(53)=psp(43)+yab*psp(18)
psp2(54)=psp(46)+xab*psp(18)
psp2(55)=psp(44)+zab*psp(19)
psp2(56)=psp(45)+yab*psp(19)
psp2(57)=psp(47)+xab*psp(19)
psp2(58)=psp(45)+zab*psp(20)
psp2(59)=psp(46)+yab*psp(20)
psp2(60)=psp(48)+xab*psp(20)
psp2(61)=psp(47)+zab*psp(21)
psp2(62)=psp(48)+yab*psp(21)
psp2(63)=psp(49)+xab*psp(21)
sp(1:3)=psp2(16:18)*0.70156076002011391601d0+psp2(43:45)*(-7.01560
$760020113871605d0)+psp2(58:60)*3.50780380010056935802d0
sp(4:6)=psp2(28:30)*(-8.87411967464942463835d0)+psp2(49:51)*8.8741
$1967464942463835d0
sp(7:9)=psp2(10:12)*(-4.18330013267037692515d0)+psp2(16:18)*0.5229
$1251658379711564d0+psp2(37:39)*12.54990039801113255180d0+psp2(43:4
$5)*(-1.04582503316759423129d0)+psp2(58:60)*(-1.5687375497513915689
$8d0)
sp(10:12)=psp2(22:24)*10.24695076595959974952d0+psp2(28:30)*(-5.12
$347538297979987476d0)+psp2(49:51)*(-5.12347538297979987476d0)
sp(13:15)=psp2(4:6)*3.87298334620741613321d0+psp2(10:12)*(-5.80947
$501931112419982d0)+psp2(16:18)*0.48412291827592701665d0+psp2(37:39
$)*(-5.80947501931112419982d0)+psp2(43:45)*0.96824583655185403330d0
$+psp2(58:60)*0.48412291827592701665d0
sp(16:18)=psp2(1:3)+psp2(7:9)*(-5.00000000000000000000d0)+psp2(13:
$15)*1.87500000000000000000d0+psp2(34:36)*(-5.00000000000000000000d
$0)+psp2(40:42)*3.75000000000000000000d0+psp2(55:57)*1.875000000000
$00000000d0
sp(19:21)=psp2(19:21)*3.87298334620741613321d0+psp2(25:27)*(-5.809
$47501931112419982d0)+psp2(31:33)*0.48412291827592701665d0+psp2(46:
$48)*(-5.80947501931112419982d0)+psp2(52:54)*0.96824583655185403330
$d0+psp2(61:63)*0.48412291827592701665d0
sp(22:24)=psp2(7:9)*(-5.12347538297979987476d0)+psp2(13:15)*2.5617
$3769148989993738d0+psp2(34:36)*5.12347538297979987476d0+psp2(55:57
$)*(-2.56173769148989993738d0)
sp(25:27)=psp2(25:27)*(-12.54990039801113255180d0)+psp2(31:33)*1.5
$6873754975139156898d0+psp2(46:48)*4.18330013267037692515d0+psp2(52
$:54)*1.04582503316759423129d0+psp2(61:63)*(-0.52291251658379711564
$d0)
sp(28:30)=psp2(13:15)*2.21852991866235615959d0+psp2(40:42)*(-13.31
$117951197413695752d0)+psp2(55:57)*2.21852991866235615959d0
sp(31:33)=psp2(31:33)*3.50780380010056935802d0+psp2(52:54)*(-7.015
$60760020113871605d0)+psp2(61:63)*0.70156076002011391601d0
return
end
subroutine hrrspher_hpp_(psp,sp,xab,yab,zab)
implicit none
real*8 sp(189),psp(147)
real*8 psp2(189)
real*8 xab,yab,zab
psp2(1:3)=psp(64:66)+zab*psp(1:3)
psp2(4:6)=psp(67:69)+yab*psp(1:3)
psp2(7:9)=psp(85:87)+xab*psp(1:3)
psp2(10:12)=psp(67:69)+zab*psp(4:6)
psp2(13:15)=psp(70:72)+yab*psp(4:6)
psp2(16:18)=psp(88:90)+xab*psp(4:6)
psp2(19:21)=psp(70:72)+zab*psp(7:9)
psp2(22:24)=psp(73:75)+yab*psp(7:9)
psp2(25:27)=psp(91:93)+xab*psp(7:9)
psp2(28:30)=psp(73:75)+zab*psp(10:12)
psp2(31:33)=psp(76:78)+yab*psp(10:12)
psp2(34:36)=psp(94:96)+xab*psp(10:12)
psp2(37:39)=psp(76:78)+zab*psp(13:15)
psp2(40:42)=psp(79:81)+yab*psp(13:15)
psp2(43:45)=psp(97:99)+xab*psp(13:15)
psp2(46:48)=psp(79:81)+zab*psp(16:18)
psp2(49:51)=psp(82:84)+yab*psp(16:18)
psp2(52:54)=psp(100:102)+xab*psp(16:18)
psp2(55:57)=psp(85:87)+zab*psp(19:21)
psp2(58:60)=psp(88:90)+yab*psp(19:21)
psp2(61:63)=psp(103:105)+xab*psp(19:21)
psp2(64:66)=psp(88:90)+zab*psp(22:24)
psp2(67:69)=psp(91:93)+yab*psp(22:24)
psp2(70:72)=psp(106:108)+xab*psp(22:24)
psp2(73:75)=psp(91:93)+zab*psp(25:27)
psp2(76:78)=psp(94:96)+yab*psp(25:27)
psp2(79:81)=psp(109:111)+xab*psp(25:27)
psp2(82:84)=psp(94:96)+zab*psp(28:30)
psp2(85:87)=psp(97:99)+yab*psp(28:30)
psp2(88:90)=psp(112:114)+xab*psp(28:30)
psp2(91:93)=psp(97:99)+zab*psp(31:33)
psp2(94:96)=psp(100:102)+yab*psp(31:33)
psp2(97:99)=psp(115:117)+xab*psp(31:33)
psp2(100:102)=psp(103:105)+zab*psp(34:36)
psp2(103:105)=psp(106:108)+yab*psp(34:36)
psp2(106:108)=psp(118:120)+xab*psp(34:36)
psp2(109:111)=psp(106:108)+zab*psp(37:39)
psp2(112:114)=psp(109:111)+yab*psp(37:39)
psp2(115:117)=psp(121:123)+xab*psp(37:39)
psp2(118:120)=psp(109:111)+zab*psp(40:42)
psp2(121:123)=psp(112:114)+yab*psp(40:42)
psp2(124:126)=psp(124:126)+xab*psp(40:42)
psp2(127:129)=psp(112:114)+zab*psp(43:45)
psp2(130:132)=psp(115:117)+yab*psp(43:45)
psp2(133:135)=psp(127:129)+xab*psp(43:45)
psp2(136:138)=psp(118:120)+zab*psp(46:48)
psp2(139:141)=psp(121:123)+yab*psp(46:48)
psp2(142:144)=psp(130:132)+xab*psp(46:48)
psp2(145:147)=psp(121:123)+zab*psp(49:51)
psp2(148:150)=psp(124:126)+yab*psp(49:51)
psp2(151:153)=psp(133:135)+xab*psp(49:51)
psp2(154:156)=psp(124:126)+zab*psp(52:54)
psp2(157:159)=psp(127:129)+yab*psp(52:54)
psp2(160:162)=psp(136:138)+xab*psp(52:54)
psp2(163:165)=psp(130:132)+zab*psp(55:57)
psp2(166:168)=psp(133:135)+yab*psp(55:57)
psp2(169:171)=psp(139:141)+xab*psp(55:57)
psp2(172:174)=psp(133:135)+zab*psp(58:60)
psp2(175:177)=psp(136:138)+yab*psp(58:60)
psp2(178:180)=psp(142:144)+xab*psp(58:60)
psp2(181:183)=psp(139:141)+zab*psp(61:63)
psp2(184:186)=psp(142:144)+yab*psp(61:63)
psp2(187:189)=psp(145:147)+xab*psp(61:63)
sp(1:9)=psp2(46:54)*0.70156076002011391601d0+psp2(127:135)*(-7.015
$60760020113871605d0)+psp2(172:180)*3.50780380010056935802d0
sp(10:18)=psp2(82:90)*(-8.87411967464942463835d0)+psp2(145:153)*8.
$87411967464942463835d0
sp(19:27)=psp2(28:36)*(-4.18330013267037692515d0)+psp2(46:54)*0.52
$291251658379711564d0+psp2(109:117)*12.54990039801113255180d0+psp2(
$127:135)*(-1.04582503316759423129d0)+psp2(172:180)*(-1.56873754975
$139156898d0)
sp(28:36)=psp2(64:72)*10.24695076595959974952d0+psp2(82:90)*(-5.12
$347538297979987476d0)+psp2(145:153)*(-5.12347538297979987476d0)
sp(37:45)=psp2(10:18)*3.87298334620741613321d0+psp2(28:36)*(-5.809
$47501931112419982d0)+psp2(46:54)*0.48412291827592701665d0+psp2(109
$:117)*(-5.80947501931112419982d0)+psp2(127:135)*0.9682458365518540
$3330d0+psp2(172:180)*0.48412291827592701665d0
sp(46:54)=psp2(1:9)+psp2(19:27)*(-5.00000000000000000000d0)+psp2(3
$7:45)*1.87500000000000000000d0+psp2(100:108)*(-5.00000000000000000
$000d0)+psp2(118:126)*3.75000000000000000000d0+psp2(163:171)*1.8750
$0000000000000000d0
sp(55:63)=psp2(55:63)*3.87298334620741613321d0+psp2(73:81)*(-5.809
$47501931112419982d0)+psp2(91:99)*0.48412291827592701665d0+psp2(136
$:144)*(-5.80947501931112419982d0)+psp2(154:162)*0.9682458365518540
$3330d0+psp2(181:189)*0.48412291827592701665d0
sp(64:72)=psp2(19:27)*(-5.12347538297979987476d0)+psp2(37:45)*2.56
$173769148989993738d0+psp2(100:108)*5.12347538297979987476d0+psp2(1
$63:171)*(-2.56173769148989993738d0)
sp(73:81)=psp2(73:81)*(-12.54990039801113255180d0)+psp2(91:99)*1.5
$6873754975139156898d0+psp2(136:144)*4.18330013267037692515d0+psp2(
$154:162)*1.04582503316759423129d0+psp2(181:189)*(-0.52291251658379
$711564d0)
sp(82:90)=psp2(37:45)*2.21852991866235615959d0+psp2(118:126)*(-13.
$31117951197413695752d0)+psp2(163:171)*2.21852991866235615959d0
sp(91:99)=psp2(91:99)*3.50780380010056935802d0+psp2(154:162)*(-7.0
$1560760020113871605d0)+psp2(181:189)*0.70156076002011391601d0
return
end
subroutine hrrspher_hpd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(315),psp(294)
real*8 psp2(315)
real*8 xab,yab,zab
sp(1:49)=psp(197:245)*1.73205080756887697113d0
sp(50:98)=psp(50:98)*1.73205080756887697113d0
sp(99:147)=psp(1:49)+psp(99:147)*(-0.50000000000000000000d0)+psp(2
$46:294)*(-0.50000000000000000000d0)
sp(148:196)=psp(148:196)*1.73205080756887697113d0
sp(197:245)=psp(99:147)*(-0.86602540378443848557d0)+psp(246:294)*0
$.86602540378443848557d0
do ii=1,5
ji=(ii-1)*49
do ki=1,49
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
psp2(1:5)=psp(106:110)+zab*psp(1:5)
psp2(6:10)=psp(111:115)+yab*psp(1:5)
psp2(11:15)=psp(141:145)+xab*psp(1:5)
psp2(16:20)=psp(111:115)+zab*psp(6:10)
psp2(21:25)=psp(116:120)+yab*psp(6:10)
psp2(26:30)=psp(146:150)+xab*psp(6:10)
psp2(31:35)=psp(116:120)+zab*psp(11:15)
psp2(36:40)=psp(121:125)+yab*psp(11:15)
psp2(41:45)=psp(151:155)+xab*psp(11:15)
psp2(46:50)=psp(121:125)+zab*psp(16:20)
psp2(51:55)=psp(126:130)+yab*psp(16:20)
psp2(56:60)=psp(156:160)+xab*psp(16:20)
psp2(61:65)=psp(126:130)+zab*psp(21:25)
psp2(66:70)=psp(131:135)+yab*psp(21:25)
psp2(71:75)=psp(161:165)+xab*psp(21:25)
psp2(76:80)=psp(131:135)+zab*psp(26:30)
psp2(81:85)=psp(136:140)+yab*psp(26:30)
psp2(86:90)=psp(166:170)+xab*psp(26:30)
psp2(91:95)=psp(141:145)+zab*psp(31:35)
psp2(96:100)=psp(146:150)+yab*psp(31:35)
psp2(101:105)=psp(171:175)+xab*psp(31:35)
psp2(106:110)=psp(146:150)+zab*psp(36:40)
psp2(111:115)=psp(151:155)+yab*psp(36:40)
psp2(116:120)=psp(176:180)+xab*psp(36:40)
psp2(121:125)=psp(151:155)+zab*psp(41:45)
psp2(126:130)=psp(156:160)+yab*psp(41:45)
psp2(131:135)=psp(181:185)+xab*psp(41:45)
psp2(136:140)=psp(156:160)+zab*psp(46:50)
psp2(141:145)=psp(161:165)+yab*psp(46:50)
psp2(146:150)=psp(186:190)+xab*psp(46:50)
psp2(151:155)=psp(161:165)+zab*psp(51:55)
psp2(156:160)=psp(166:170)+yab*psp(51:55)
psp2(161:165)=psp(191:195)+xab*psp(51:55)
psp2(166:170)=psp(171:175)+zab*psp(56:60)
psp2(171:175)=psp(176:180)+yab*psp(56:60)
psp2(176:180)=psp(196:200)+xab*psp(56:60)
psp2(181:185)=psp(176:180)+zab*psp(61:65)
psp2(186:190)=psp(181:185)+yab*psp(61:65)
psp2(191:195)=psp(201:205)+xab*psp(61:65)
psp2(196:200)=psp(181:185)+zab*psp(66:70)
psp2(201:205)=psp(186:190)+yab*psp(66:70)
psp2(206:210)=psp(206:210)+xab*psp(66:70)
psp2(211:215)=psp(186:190)+zab*psp(71:75)
psp2(216:220)=psp(191:195)+yab*psp(71:75)
psp2(221:225)=psp(211:215)+xab*psp(71:75)
psp2(226:230)=psp(196:200)+zab*psp(76:80)
psp2(231:235)=psp(201:205)+yab*psp(76:80)
psp2(236:240)=psp(216:220)+xab*psp(76:80)
psp2(241:245)=psp(201:205)+zab*psp(81:85)
psp2(246:250)=psp(206:210)+yab*psp(81:85)
psp2(251:255)=psp(221:225)+xab*psp(81:85)
psp2(256:260)=psp(206:210)+zab*psp(86:90)
psp2(261:265)=psp(211:215)+yab*psp(86:90)
psp2(266:270)=psp(226:230)+xab*psp(86:90)
psp2(271:275)=psp(216:220)+zab*psp(91:95)
psp2(276:280)=psp(221:225)+yab*psp(91:95)
psp2(281:285)=psp(231:235)+xab*psp(91:95)
psp2(286:290)=psp(221:225)+zab*psp(96:100)
psp2(291:295)=psp(226:230)+yab*psp(96:100)
psp2(296:300)=psp(236:240)+xab*psp(96:100)
psp2(301:305)=psp(231:235)+zab*psp(101:105)
psp2(306:310)=psp(236:240)+yab*psp(101:105)
psp2(311:315)=psp(241:245)+xab*psp(101:105)
sp(1:15)=psp2(76:90)*0.70156076002011391601d0+psp2(211:225)*(-7.01
$560760020113871605d0)+psp2(286:300)*3.50780380010056935802d0
sp(16:30)=psp2(136:150)*(-8.87411967464942463835d0)+psp2(241:255)*
$8.87411967464942463835d0
sp(31:45)=psp2(46:60)*(-4.18330013267037692515d0)+psp2(76:90)*0.52
$291251658379711564d0+psp2(181:195)*12.54990039801113255180d0+psp2(
$211:225)*(-1.04582503316759423129d0)+psp2(286:300)*(-1.56873754975
$139156898d0)
sp(46:60)=psp2(106:120)*10.24695076595959974952d0+psp2(136:150)*(-
$5.12347538297979987476d0)+psp2(241:255)*(-5.12347538297979987476d0
$)
sp(61:75)=psp2(16:30)*3.87298334620741613321d0+psp2(46:60)*(-5.809
$47501931112419982d0)+psp2(76:90)*0.48412291827592701665d0+psp2(181
$:195)*(-5.80947501931112419982d0)+psp2(211:225)*0.9682458365518540
$3330d0+psp2(286:300)*0.48412291827592701665d0
sp(76:90)=psp2(1:15)+psp2(31:45)*(-5.00000000000000000000d0)+psp2(
$61:75)*1.87500000000000000000d0+psp2(166:180)*(-5.0000000000000000
$0000d0)+psp2(196:210)*3.75000000000000000000d0+psp2(271:285)*1.875
$00000000000000000d0
sp(91:105)=psp2(91:105)*3.87298334620741613321d0+psp2(121:135)*(-5
$.80947501931112419982d0)+psp2(151:165)*0.48412291827592701665d0+ps
$p2(226:240)*(-5.80947501931112419982d0)+psp2(256:270)*0.9682458365
$5185403330d0+psp2(301:315)*0.48412291827592701665d0
sp(106:120)=psp2(31:45)*(-5.12347538297979987476d0)+psp2(61:75)*2.
$56173769148989993738d0+psp2(166:180)*5.12347538297979987476d0+psp2
$(271:285)*(-2.56173769148989993738d0)
sp(121:135)=psp2(121:135)*(-12.54990039801113255180d0)+psp2(151:16
$5)*1.56873754975139156898d0+psp2(226:240)*4.18330013267037692515d0
$+psp2(256:270)*1.04582503316759423129d0+psp2(301:315)*(-0.52291251
$658379711564d0)
sp(136:150)=psp2(61:75)*2.21852991866235615959d0+psp2(196:210)*(-1
$3.31117951197413695752d0)+psp2(271:285)*2.21852991866235615959d0
sp(151:165)=psp2(151:165)*3.50780380010056935802d0+psp2(256:270)*(
$-7.01560760020113871605d0)+psp2(301:315)*0.70156076002011391601d0
return
end
subroutine hrrspher_hpf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(441),psp(490)
real*8 psp2(441)
real*8 xab,yab,zab
sp(1:49)=psp(148:196)*(-0.79056941504209476967d0)+psp(393:441)*2.3
$7170824512628453107d0
sp(50:98)=psp(246:294)*3.87298334620741657730d0
sp(99:147)=psp(50:98)*2.44948974278317788134d0+psp(148:196)*(-0.61
$237243569579447033d0)+psp(393:441)*(-0.61237243569579447033d0)
sp(148:196)=psp(1:49)+psp(99:147)*(-1.50000000000000000000d0)+psp(
$344:392)*(-1.50000000000000000000d0)
sp(197:245)=psp(197:245)*2.44948974278317788134d0+psp(295:343)*(-0
$.61237243569579447033d0)+psp(442:490)*(-0.61237243569579447033d0)
sp(246:294)=psp(99:147)*(-1.93649167310370828865d0)+psp(344:392)*1
$.93649167310370828865d0
sp(295:343)=psp(295:343)*(-2.37170824512628453107d0)+psp(442:490)*
$0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*49
do ki=1,49
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
psp2(1:7)=psp(148:154)+zab*psp(1:7)
psp2(8:14)=psp(155:161)+yab*psp(1:7)
psp2(15:21)=psp(197:203)+xab*psp(1:7)
psp2(22:28)=psp(155:161)+zab*psp(8:14)
psp2(29:35)=psp(162:168)+yab*psp(8:14)
psp2(36:42)=psp(204:210)+xab*psp(8:14)
psp2(43:49)=psp(162:168)+zab*psp(15:21)
psp2(50:56)=psp(169:175)+yab*psp(15:21)
psp2(57:63)=psp(211:217)+xab*psp(15:21)
psp2(64:70)=psp(169:175)+zab*psp(22:28)
psp2(71:77)=psp(176:182)+yab*psp(22:28)
psp2(78:84)=psp(218:224)+xab*psp(22:28)
psp2(85:91)=psp(176:182)+zab*psp(29:35)
psp2(92:98)=psp(183:189)+yab*psp(29:35)
psp2(99:105)=psp(225:231)+xab*psp(29:35)
psp2(106:112)=psp(183:189)+zab*psp(36:42)
psp2(113:119)=psp(190:196)+yab*psp(36:42)
psp2(120:126)=psp(232:238)+xab*psp(36:42)
psp2(127:133)=psp(197:203)+zab*psp(43:49)
psp2(134:140)=psp(204:210)+yab*psp(43:49)
psp2(141:147)=psp(239:245)+xab*psp(43:49)
psp2(148:154)=psp(204:210)+zab*psp(50:56)
psp2(155:161)=psp(211:217)+yab*psp(50:56)
psp2(162:168)=psp(246:252)+xab*psp(50:56)
psp2(169:175)=psp(211:217)+zab*psp(57:63)
psp2(176:182)=psp(218:224)+yab*psp(57:63)
psp2(183:189)=psp(253:259)+xab*psp(57:63)
psp2(190:196)=psp(218:224)+zab*psp(64:70)
psp2(197:203)=psp(225:231)+yab*psp(64:70)
psp2(204:210)=psp(260:266)+xab*psp(64:70)
psp2(211:217)=psp(225:231)+zab*psp(71:77)
psp2(218:224)=psp(232:238)+yab*psp(71:77)
psp2(225:231)=psp(267:273)+xab*psp(71:77)
psp2(232:238)=psp(239:245)+zab*psp(78:84)
psp2(239:245)=psp(246:252)+yab*psp(78:84)
psp2(246:252)=psp(274:280)+xab*psp(78:84)
psp2(253:259)=psp(246:252)+zab*psp(85:91)
psp2(260:266)=psp(253:259)+yab*psp(85:91)
psp2(267:273)=psp(281:287)+xab*psp(85:91)
psp2(274:280)=psp(253:259)+zab*psp(92:98)
psp2(281:287)=psp(260:266)+yab*psp(92:98)
psp2(288:294)=psp(288:294)+xab*psp(92:98)
psp2(295:301)=psp(260:266)+zab*psp(99:105)
psp2(302:308)=psp(267:273)+yab*psp(99:105)
psp2(309:315)=psp(295:301)+xab*psp(99:105)
psp2(316:322)=psp(274:280)+zab*psp(106:112)
psp2(323:329)=psp(281:287)+yab*psp(106:112)
psp2(330:336)=psp(302:308)+xab*psp(106:112)
psp2(337:343)=psp(281:287)+zab*psp(113:119)
psp2(344:350)=psp(288:294)+yab*psp(113:119)
psp2(351:357)=psp(309:315)+xab*psp(113:119)
psp2(358:364)=psp(288:294)+zab*psp(120:126)
psp2(365:371)=psp(295:301)+yab*psp(120:126)
psp2(372:378)=psp(316:322)+xab*psp(120:126)
psp2(379:385)=psp(302:308)+zab*psp(127:133)
psp2(386:392)=psp(309:315)+yab*psp(127:133)
psp2(393:399)=psp(323:329)+xab*psp(127:133)
psp2(400:406)=psp(309:315)+zab*psp(134:140)
psp2(407:413)=psp(316:322)+yab*psp(134:140)
psp2(414:420)=psp(330:336)+xab*psp(134:140)
psp2(421:427)=psp(323:329)+zab*psp(141:147)
psp2(428:434)=psp(330:336)+yab*psp(141:147)
psp2(435:441)=psp(337:343)+xab*psp(141:147)
sp(1:21)=psp2(106:126)*0.70156076002011391601d0+psp2(295:315)*(-7.
$01560760020113871605d0)+psp2(400:420)*3.50780380010056935802d0
sp(22:42)=psp2(190:210)*(-8.87411967464942463835d0)+psp2(337:357)*
$8.87411967464942463835d0
sp(43:63)=psp2(64:84)*(-4.18330013267037692515d0)+psp2(106:126)*0.
$52291251658379711564d0+psp2(253:273)*12.54990039801113255180d0+psp
$2(295:315)*(-1.04582503316759423129d0)+psp2(400:420)*(-1.568737549
$75139156898d0)
sp(64:84)=psp2(148:168)*10.24695076595959974952d0+psp2(190:210)*(-
$5.12347538297979987476d0)+psp2(337:357)*(-5.12347538297979987476d0
$)
sp(85:105)=psp2(22:42)*3.87298334620741613321d0+psp2(64:84)*(-5.80
$947501931112419982d0)+psp2(106:126)*0.48412291827592701665d0+psp2(
$253:273)*(-5.80947501931112419982d0)+psp2(295:315)*0.9682458365518
$5403330d0+psp2(400:420)*0.48412291827592701665d0
sp(106:126)=psp2(1:21)+psp2(43:63)*(-5.00000000000000000000d0)+psp
$2(85:105)*1.87500000000000000000d0+psp2(232:252)*(-5.0000000000000
$0000000d0)+psp2(274:294)*3.75000000000000000000d0+psp2(379:399)*1.
$87500000000000000000d0
sp(127:147)=psp2(127:147)*3.87298334620741613321d0+psp2(169:189)*(
$-5.80947501931112419982d0)+psp2(211:231)*0.48412291827592701665d0+
$psp2(316:336)*(-5.80947501931112419982d0)+psp2(358:378)*0.96824583
$655185403330d0+psp2(421:441)*0.48412291827592701665d0
sp(148:168)=psp2(43:63)*(-5.12347538297979987476d0)+psp2(85:105)*2
$.56173769148989993738d0+psp2(232:252)*5.12347538297979987476d0+psp
$2(379:399)*(-2.56173769148989993738d0)
sp(169:189)=psp2(169:189)*(-12.54990039801113255180d0)+psp2(211:23
$1)*1.56873754975139156898d0+psp2(316:336)*4.18330013267037692515d0
$+psp2(358:378)*1.04582503316759423129d0+psp2(421:441)*(-0.52291251
$658379711564d0)
sp(190:210)=psp2(85:105)*2.21852991866235615959d0+psp2(274:294)*(-
$13.31117951197413695752d0)+psp2(379:399)*2.21852991866235615959d0
sp(211:231)=psp2(211:231)*3.50780380010056935802d0+psp2(358:378)*(
$-7.01560760020113871605d0)+psp2(421:441)*0.70156076002011391601d0
return
end
subroutine hrrspher_hpg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(567),psp(735)
real*8 psp2(567)
real*8 xab,yab,zab
sp(1:49)=psp(393:441)*(-2.95803989154980806475d0)+psp(638:686)*2.9
$5803989154980806475d0
sp(50:98)=psp(148:196)*(-2.09165006633518890666d0)+psp(491:539)*6.
$27495019900556627590d0
sp(99:147)=psp(295:343)*6.70820393249936941515d0+psp(393:441)*(-1.
$11803398874989490253d0)+psp(638:686)*(-1.11803398874989490253d0)
sp(148:196)=psp(50:98)*3.16227766016837907870d0+psp(148:196)*(-2.3
$7170824512628453107d0)+psp(491:539)*(-2.37170824512628453107d0)
sp(197:245)=psp(1:49)+psp(99:147)*(-3.00000000000000000000d0)+psp(
$197:245)*0.37500000000000000000d0+psp(442:490)*(-3.000000000000000
$00000d0)+psp(540:588)*0.75000000000000000000d0+psp(687:735)*0.3750
$0000000000000000d0
sp(246:294)=psp(246:294)*3.16227766016837907870d0+psp(344:392)*(-2
$.37170824512628453107d0)+psp(589:637)*(-2.37170824512628453107d0)
sp(295:343)=psp(99:147)*(-3.35410196624968470758d0)+psp(197:245)*0
$.55901699437494745126d0+psp(442:490)*3.35410196624968470758d0+psp(
$687:735)*(-0.55901699437494745126d0)
sp(344:392)=psp(344:392)*(-6.27495019900556627590d0)+psp(589:637)*
$2.09165006633518890666d0
sp(393:441)=psp(197:245)*0.73950997288745201619d0+psp(540:588)*(-4
$.43705983732471231917d0)+psp(687:735)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*49
do ki=1,49
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
psp2(1:9)=psp(190:198)+zab*psp(1:9)
psp2(10:18)=psp(199:207)+yab*psp(1:9)
psp2(19:27)=psp(253:261)+xab*psp(1:9)
psp2(28:36)=psp(199:207)+zab*psp(10:18)
psp2(37:45)=psp(208:216)+yab*psp(10:18)
psp2(46:54)=psp(262:270)+xab*psp(10:18)
psp2(55:63)=psp(208:216)+zab*psp(19:27)
psp2(64:72)=psp(217:225)+yab*psp(19:27)
psp2(73:81)=psp(271:279)+xab*psp(19:27)
psp2(82:90)=psp(217:225)+zab*psp(28:36)
psp2(91:99)=psp(226:234)+yab*psp(28:36)
psp2(100:108)=psp(280:288)+xab*psp(28:36)
psp2(109:117)=psp(226:234)+zab*psp(37:45)
psp2(118:126)=psp(235:243)+yab*psp(37:45)
psp2(127:135)=psp(289:297)+xab*psp(37:45)
psp2(136:144)=psp(235:243)+zab*psp(46:54)
psp2(145:153)=psp(244:252)+yab*psp(46:54)
psp2(154:162)=psp(298:306)+xab*psp(46:54)
psp2(163:171)=psp(253:261)+zab*psp(55:63)
psp2(172:180)=psp(262:270)+yab*psp(55:63)
psp2(181:189)=psp(307:315)+xab*psp(55:63)
psp2(190:198)=psp(262:270)+zab*psp(64:72)
psp2(199:207)=psp(271:279)+yab*psp(64:72)
psp2(208:216)=psp(316:324)+xab*psp(64:72)
psp2(217:225)=psp(271:279)+zab*psp(73:81)
psp2(226:234)=psp(280:288)+yab*psp(73:81)
psp2(235:243)=psp(325:333)+xab*psp(73:81)
psp2(244:252)=psp(280:288)+zab*psp(82:90)
psp2(253:261)=psp(289:297)+yab*psp(82:90)
psp2(262:270)=psp(334:342)+xab*psp(82:90)
psp2(271:279)=psp(289:297)+zab*psp(91:99)
psp2(280:288)=psp(298:306)+yab*psp(91:99)
psp2(289:297)=psp(343:351)+xab*psp(91:99)
psp2(298:306)=psp(307:315)+zab*psp(100:108)
psp2(307:315)=psp(316:324)+yab*psp(100:108)
psp2(316:324)=psp(352:360)+xab*psp(100:108)
psp2(325:333)=psp(316:324)+zab*psp(109:117)
psp2(334:342)=psp(325:333)+yab*psp(109:117)
psp2(343:351)=psp(361:369)+xab*psp(109:117)
psp2(352:360)=psp(325:333)+zab*psp(118:126)
psp2(361:369)=psp(334:342)+yab*psp(118:126)
psp2(370:378)=psp(370:378)+xab*psp(118:126)
psp2(379:387)=psp(334:342)+zab*psp(127:135)
psp2(388:396)=psp(343:351)+yab*psp(127:135)
psp2(397:405)=psp(379:387)+xab*psp(127:135)
psp2(406:414)=psp(352:360)+zab*psp(136:144)
psp2(415:423)=psp(361:369)+yab*psp(136:144)
psp2(424:432)=psp(388:396)+xab*psp(136:144)
psp2(433:441)=psp(361:369)+zab*psp(145:153)
psp2(442:450)=psp(370:378)+yab*psp(145:153)
psp2(451:459)=psp(397:405)+xab*psp(145:153)
psp2(460:468)=psp(370:378)+zab*psp(154:162)
psp2(469:477)=psp(379:387)+yab*psp(154:162)
psp2(478:486)=psp(406:414)+xab*psp(154:162)
psp2(487:495)=psp(388:396)+zab*psp(163:171)
psp2(496:504)=psp(397:405)+yab*psp(163:171)
psp2(505:513)=psp(415:423)+xab*psp(163:171)
psp2(514:522)=psp(397:405)+zab*psp(172:180)
psp2(523:531)=psp(406:414)+yab*psp(172:180)
psp2(532:540)=psp(424:432)+xab*psp(172:180)
psp2(541:549)=psp(415:423)+zab*psp(181:189)
psp2(550:558)=psp(424:432)+yab*psp(181:189)
psp2(559:567)=psp(433:441)+xab*psp(181:189)
sp(1:27)=psp2(136:162)*0.70156076002011391601d0+psp2(379:405)*(-7.
$01560760020113871605d0)+psp2(514:540)*3.50780380010056935802d0
sp(28:54)=psp2(244:270)*(-8.87411967464942463835d0)+psp2(433:459)*
$8.87411967464942463835d0
sp(55:81)=psp2(82:108)*(-4.18330013267037692515d0)+psp2(136:162)*0
$.52291251658379711564d0+psp2(325:351)*12.54990039801113255180d0+ps
$p2(379:405)*(-1.04582503316759423129d0)+psp2(514:540)*(-1.56873754
$975139156898d0)
sp(82:108)=psp2(190:216)*10.24695076595959974952d0+psp2(244:270)*(
$-5.12347538297979987476d0)+psp2(433:459)*(-5.12347538297979987476d
$0)
sp(109:135)=psp2(28:54)*3.87298334620741613321d0+psp2(82:108)*(-5.
$80947501931112419982d0)+psp2(136:162)*0.48412291827592701665d0+psp
$2(325:351)*(-5.80947501931112419982d0)+psp2(379:405)*0.96824583655
$185403330d0+psp2(514:540)*0.48412291827592701665d0
sp(136:162)=psp2(1:27)+psp2(55:81)*(-5.00000000000000000000d0)+psp
$2(109:135)*1.87500000000000000000d0+psp2(298:324)*(-5.000000000000
$00000000d0)+psp2(352:378)*3.75000000000000000000d0+psp2(487:513)*1
$.87500000000000000000d0
sp(163:189)=psp2(163:189)*3.87298334620741613321d0+psp2(217:243)*(
$-5.80947501931112419982d0)+psp2(271:297)*0.48412291827592701665d0+
$psp2(406:432)*(-5.80947501931112419982d0)+psp2(460:486)*0.96824583
$655185403330d0+psp2(541:567)*0.48412291827592701665d0
sp(190:216)=psp2(55:81)*(-5.12347538297979987476d0)+psp2(109:135)*
$2.56173769148989993738d0+psp2(298:324)*5.12347538297979987476d0+ps
$p2(487:513)*(-2.56173769148989993738d0)
sp(217:243)=psp2(217:243)*(-12.54990039801113255180d0)+psp2(271:29
$7)*1.56873754975139156898d0+psp2(406:432)*4.18330013267037692515d0
$+psp2(460:486)*1.04582503316759423129d0+psp2(541:567)*(-0.52291251
$658379711564d0)
sp(244:270)=psp2(109:135)*2.21852991866235615959d0+psp2(352:378)*(
$-13.31117951197413695752d0)+psp2(487:513)*2.21852991866235615959d0
sp(271:297)=psp2(271:297)*3.50780380010056935802d0+psp2(460:486)*(
$-7.01560760020113871605d0)+psp2(541:567)*0.70156076002011391601d0
return
end
subroutine hrrspher_hph_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(693),psp(1029)
real*8 psp2(693)
real*8 xab,yab,zab
sp(1:49)=psp(246:294)*0.70156076002011391601d0+psp(687:735)*(-7.01
$560760020113871605d0)+psp(932:980)*3.50780380010056935802d0
sp(50:98)=psp(442:490)*(-8.87411967464942463835d0)+psp(785:833)*8.
$87411967464942463835d0
sp(99:147)=psp(148:196)*(-4.18330013267037692515d0)+psp(246:294)*0
$.52291251658379711564d0+psp(589:637)*12.54990039801113255180d0+psp
$(687:735)*(-1.04582503316759423129d0)+psp(932:980)*(-1.56873754975
$139156898d0)
sp(148:196)=psp(344:392)*10.24695076595959974952d0+psp(442:490)*(-
$5.12347538297979987476d0)+psp(785:833)*(-5.12347538297979987476d0)
sp(197:245)=psp(50:98)*3.87298334620741613321d0+psp(148:196)*(-5.8
$0947501931112419982d0)+psp(246:294)*0.48412291827592701665d0+psp(5
$89:637)*(-5.80947501931112419982d0)+psp(687:735)*0.968245836551854
$03330d0+psp(932:980)*0.48412291827592701665d0
sp(246:294)=psp(1:49)+psp(99:147)*(-5.00000000000000000000d0)+psp(
$197:245)*1.87500000000000000000d0+psp(540:588)*(-5.000000000000000
$00000d0)+psp(638:686)*3.75000000000000000000d0+psp(883:931)*1.8750
$0000000000000000d0
sp(295:343)=psp(295:343)*3.87298334620741613321d0+psp(393:441)*(-5
$.80947501931112419982d0)+psp(491:539)*0.48412291827592701665d0+psp
$(736:784)*(-5.80947501931112419982d0)+psp(834:882)*0.9682458365518
$5403330d0+psp(981:1029)*0.48412291827592701665d0
sp(344:392)=psp(99:147)*(-5.12347538297979987476d0)+psp(197:245)*2
$.56173769148989993738d0+psp(540:588)*5.12347538297979987476d0+psp(
$883:931)*(-2.56173769148989993738d0)
sp(393:441)=psp(393:441)*(-12.54990039801113255180d0)+psp(491:539)
$*1.56873754975139156898d0+psp(736:784)*4.18330013267037692515d0+ps
$p(834:882)*1.04582503316759423129d0+psp(981:1029)*(-0.522912516583
$79711564d0)
sp(442:490)=psp(197:245)*2.21852991866235615959d0+psp(638:686)*(-1
$3.31117951197413695752d0)+psp(883:931)*2.21852991866235615959d0
sp(491:539)=psp(491:539)*3.50780380010056935802d0+psp(834:882)*(-7
$.01560760020113871605d0)+psp(981:1029)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*49
do ki=1,49
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
psp2(1:11)=psp(232:242)+zab*psp(1:11)
psp2(12:22)=psp(243:253)+yab*psp(1:11)
psp2(23:33)=psp(309:319)+xab*psp(1:11)
psp2(34:44)=psp(243:253)+zab*psp(12:22)
psp2(45:55)=psp(254:264)+yab*psp(12:22)
psp2(56:66)=psp(320:330)+xab*psp(12:22)
psp2(67:77)=psp(254:264)+zab*psp(23:33)
psp2(78:88)=psp(265:275)+yab*psp(23:33)
psp2(89:99)=psp(331:341)+xab*psp(23:33)
psp2(100:110)=psp(265:275)+zab*psp(34:44)
psp2(111:121)=psp(276:286)+yab*psp(34:44)
psp2(122:132)=psp(342:352)+xab*psp(34:44)
psp2(133:143)=psp(276:286)+zab*psp(45:55)
psp2(144:154)=psp(287:297)+yab*psp(45:55)
psp2(155:165)=psp(353:363)+xab*psp(45:55)
psp2(166:176)=psp(287:297)+zab*psp(56:66)
psp2(177:187)=psp(298:308)+yab*psp(56:66)
psp2(188:198)=psp(364:374)+xab*psp(56:66)
psp2(199:209)=psp(309:319)+zab*psp(67:77)
psp2(210:220)=psp(320:330)+yab*psp(67:77)
psp2(221:231)=psp(375:385)+xab*psp(67:77)
psp2(232:242)=psp(320:330)+zab*psp(78:88)
psp2(243:253)=psp(331:341)+yab*psp(78:88)
psp2(254:264)=psp(386:396)+xab*psp(78:88)
psp2(265:275)=psp(331:341)+zab*psp(89:99)
psp2(276:286)=psp(342:352)+yab*psp(89:99)
psp2(287:297)=psp(397:407)+xab*psp(89:99)
psp2(298:308)=psp(342:352)+zab*psp(100:110)
psp2(309:319)=psp(353:363)+yab*psp(100:110)
psp2(320:330)=psp(408:418)+xab*psp(100:110)
psp2(331:341)=psp(353:363)+zab*psp(111:121)
psp2(342:352)=psp(364:374)+yab*psp(111:121)
psp2(353:363)=psp(419:429)+xab*psp(111:121)
psp2(364:374)=psp(375:385)+zab*psp(122:132)
psp2(375:385)=psp(386:396)+yab*psp(122:132)
psp2(386:396)=psp(430:440)+xab*psp(122:132)
psp2(397:407)=psp(386:396)+zab*psp(133:143)
psp2(408:418)=psp(397:407)+yab*psp(133:143)
psp2(419:429)=psp(441:451)+xab*psp(133:143)
psp2(430:440)=psp(397:407)+zab*psp(144:154)
psp2(441:451)=psp(408:418)+yab*psp(144:154)
psp2(452:462)=psp(452:462)+xab*psp(144:154)
psp2(463:473)=psp(408:418)+zab*psp(155:165)
psp2(474:484)=psp(419:429)+yab*psp(155:165)
psp2(485:495)=psp(463:473)+xab*psp(155:165)
psp2(496:506)=psp(430:440)+zab*psp(166:176)
psp2(507:517)=psp(441:451)+yab*psp(166:176)
psp2(518:528)=psp(474:484)+xab*psp(166:176)
psp2(529:539)=psp(441:451)+zab*psp(177:187)
psp2(540:550)=psp(452:462)+yab*psp(177:187)
psp2(551:561)=psp(485:495)+xab*psp(177:187)
psp2(562:572)=psp(452:462)+zab*psp(188:198)
psp2(573:583)=psp(463:473)+yab*psp(188:198)
psp2(584:594)=psp(496:506)+xab*psp(188:198)
psp2(595:605)=psp(474:484)+zab*psp(199:209)
psp2(606:616)=psp(485:495)+yab*psp(199:209)
psp2(617:627)=psp(507:517)+xab*psp(199:209)
psp2(628:638)=psp(485:495)+zab*psp(210:220)
psp2(639:649)=psp(496:506)+yab*psp(210:220)
psp2(650:660)=psp(518:528)+xab*psp(210:220)
psp2(661:671)=psp(507:517)+zab*psp(221:231)
psp2(672:682)=psp(518:528)+yab*psp(221:231)
psp2(683:693)=psp(529:539)+xab*psp(221:231)
sp(1:33)=psp2(166:198)*0.70156076002011391601d0+psp2(463:495)*(-7.
$01560760020113871605d0)+psp2(628:660)*3.50780380010056935802d0
sp(34:66)=psp2(298:330)*(-8.87411967464942463835d0)+psp2(529:561)*
$8.87411967464942463835d0
sp(67:99)=psp2(100:132)*(-4.18330013267037692515d0)+psp2(166:198)*
$0.52291251658379711564d0+psp2(397:429)*12.54990039801113255180d0+p
$sp2(463:495)*(-1.04582503316759423129d0)+psp2(628:660)*(-1.5687375
$4975139156898d0)
sp(100:132)=psp2(232:264)*10.24695076595959974952d0+psp2(298:330)*
$(-5.12347538297979987476d0)+psp2(529:561)*(-5.12347538297979987476
$d0)
sp(133:165)=psp2(34:66)*3.87298334620741613321d0+psp2(100:132)*(-5
$.80947501931112419982d0)+psp2(166:198)*0.48412291827592701665d0+ps
$p2(397:429)*(-5.80947501931112419982d0)+psp2(463:495)*0.9682458365
$5185403330d0+psp2(628:660)*0.48412291827592701665d0
sp(166:198)=psp2(1:33)+psp2(67:99)*(-5.00000000000000000000d0)+psp
$2(133:165)*1.87500000000000000000d0+psp2(364:396)*(-5.000000000000
$00000000d0)+psp2(430:462)*3.75000000000000000000d0+psp2(595:627)*1
$.87500000000000000000d0
sp(199:231)=psp2(199:231)*3.87298334620741613321d0+psp2(265:297)*(
$-5.80947501931112419982d0)+psp2(331:363)*0.48412291827592701665d0+
$psp2(496:528)*(-5.80947501931112419982d0)+psp2(562:594)*0.96824583
$655185403330d0+psp2(661:693)*0.48412291827592701665d0
sp(232:264)=psp2(67:99)*(-5.12347538297979987476d0)+psp2(133:165)*
$2.56173769148989993738d0+psp2(364:396)*5.12347538297979987476d0+ps
$p2(595:627)*(-2.56173769148989993738d0)
sp(265:297)=psp2(265:297)*(-12.54990039801113255180d0)+psp2(331:36
$3)*1.56873754975139156898d0+psp2(496:528)*4.18330013267037692515d0
$+psp2(562:594)*1.04582503316759423129d0+psp2(661:693)*(-0.52291251
$658379711564d0)
sp(298:330)=psp2(133:165)*2.21852991866235615959d0+psp2(430:462)*(
$-13.31117951197413695752d0)+psp2(595:627)*2.21852991866235615959d0
sp(331:363)=psp2(331:363)*3.50780380010056935802d0+psp2(562:594)*(
$-7.01560760020113871605d0)+psp2(661:693)*0.70156076002011391601d0
return
end
subroutine hrrspher_hpi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(819),psp(1372)
real*8 psp2(819)
real*8 xab,yab,zab
sp(1:49)=psp(589:637)*4.03015973628837986809d0+psp(1030:1078)*(-13
$.43386578762789973496d0)+psp(1275:1323)*4.03015973628837986809d0
sp(50:98)=psp(246:294)*2.32681380862329012515d0+psp(785:833)*(-23.
$26813808623289858701d0)+psp(1128:1176)*11.63406904311639955552d0
sp(99:147)=psp(491:539)*(-19.84313483298440061731d0)+psp(589:637)*
$1.98431348329843992850d0+psp(932:980)*19.84313483298440061731d0+ps
$p(1275:1323)*(-1.98431348329843992850d0)
sp(148:196)=psp(148:196)*(-7.24568837309471991404d0)+psp(246:294)*
$2.71713313991052007879d0+psp(687:735)*21.73706511928419971014d0+ps
$p(785:833)*(-5.43426627982104015757d0)+psp(1128:1176)*(-8.15139941
$973155934818d0)
sp(197:245)=psp(393:441)*14.49137674618940074822d0+psp(491:539)*(-
$14.49137674618940074822d0)+psp(589:637)*0.90571104663683998925d0+p
$sp(932:980)*(-14.49137674618940074822d0)+psp(1030:1078)*1.81142209
$327367997851d0+psp(1275:1323)*0.90571104663683998925d0
sp(246:294)=psp(50:98)*4.58257569495583982899d0+psp(148:196)*(-11.
$45643923738959912839d0)+psp(246:294)*2.86410980934739978210d0+psp(
$687:735)*(-11.45643923738959912839d0)+psp(785:833)*5.7282196186947
$9956420d0+psp(1128:1176)*2.86410980934739978210d0
sp(295:343)=psp(1:49)+psp(99:147)*(-7.50000000000000000000d0)+psp(
$197:245)*5.62500000000000000000d0+psp(295:343)*(-0.312500000000000
$00000d0)+psp(638:686)*(-7.50000000000000000000d0)+psp(736:784)*11.
$25000000000000000000d0+psp(834:882)*(-0.93750000000000000000d0)+ps
$p(1079:1127)*5.62500000000000000000d0+psp(1177:1225)*(-0.937500000
$00000000000d0)+psp(1324:1372)*(-0.31250000000000000000d0)
sp(344:392)=psp(344:392)*4.58257569495583982899d0+psp(442:490)*(-1
$1.45643923738959912839d0)+psp(540:588)*2.86410980934739978210d0+ps
$p(883:931)*(-11.45643923738959912839d0)+psp(981:1029)*5.7282196186
$9479956420d0+psp(1226:1274)*2.86410980934739978210d0
sp(393:441)=psp(99:147)*(-7.24568837309471991404d0)+psp(197:245)*7
$.24568837309471991404d0+psp(295:343)*(-0.45285552331841999463d0)+p
$sp(638:686)*7.24568837309471991404d0+psp(834:882)*(-0.452855523318
$41999463d0)+psp(1079:1127)*(-7.24568837309471991404d0)+psp(1177:12
$25)*0.45285552331841999463d0+psp(1324:1372)*0.45285552331841999463
$d0
sp(442:490)=psp(442:490)*(-21.73706511928419971014d0)+psp(540:588)
$*8.15139941973155934818d0+psp(883:931)*7.24568837309471991404d0+ps
$p(981:1029)*5.43426627982104015757d0+psp(1226:1274)*(-2.7171331399
$1052007879d0)
sp(491:539)=psp(197:245)*4.96078370824610992429d0+psp(295:343)*(-0
$.49607837082461098133d0)+psp(736:784)*(-29.76470224947659914960d0)
$+psp(834:882)*2.48039185412305007716d0+psp(1079:1127)*4.9607837082
$4610992429d0+psp(1177:1225)*2.48039185412305007716d0+psp(1324:1372
$)*(-0.49607837082461098133d0)
sp(540:588)=psp(540:588)*11.63406904311639955552d0+psp(981:1029)*(
$-23.26813808623289858701d0)+psp(1226:1274)*2.32681380862329012515d
$0
sp(589:637)=psp(295:343)*(-0.67169328938139605256d0)+psp(834:882)*
$10.07539934072089948813d0+psp(1177:1225)*(-10.07539934072089948813
$d0)+psp(1324:1372)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*49
do ki=1,49
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
psp2(1:13)=psp(274:286)+zab*psp(1:13)
psp2(14:26)=psp(287:299)+yab*psp(1:13)
psp2(27:39)=psp(365:377)+xab*psp(1:13)
psp2(40:52)=psp(287:299)+zab*psp(14:26)
psp2(53:65)=psp(300:312)+yab*psp(14:26)
psp2(66:78)=psp(378:390)+xab*psp(14:26)
psp2(79:91)=psp(300:312)+zab*psp(27:39)
psp2(92:104)=psp(313:325)+yab*psp(27:39)
psp2(105:117)=psp(391:403)+xab*psp(27:39)
psp2(118:130)=psp(313:325)+zab*psp(40:52)
psp2(131:143)=psp(326:338)+yab*psp(40:52)
psp2(144:156)=psp(404:416)+xab*psp(40:52)
psp2(157:169)=psp(326:338)+zab*psp(53:65)
psp2(170:182)=psp(339:351)+yab*psp(53:65)
psp2(183:195)=psp(417:429)+xab*psp(53:65)
psp2(196:208)=psp(339:351)+zab*psp(66:78)
psp2(209:221)=psp(352:364)+yab*psp(66:78)
psp2(222:234)=psp(430:442)+xab*psp(66:78)
psp2(235:247)=psp(365:377)+zab*psp(79:91)
psp2(248:260)=psp(378:390)+yab*psp(79:91)
psp2(261:273)=psp(443:455)+xab*psp(79:91)
psp2(274:286)=psp(378:390)+zab*psp(92:104)
psp2(287:299)=psp(391:403)+yab*psp(92:104)
psp2(300:312)=psp(456:468)+xab*psp(92:104)
psp2(313:325)=psp(391:403)+zab*psp(105:117)
psp2(326:338)=psp(404:416)+yab*psp(105:117)
psp2(339:351)=psp(469:481)+xab*psp(105:117)
psp2(352:364)=psp(404:416)+zab*psp(118:130)
psp2(365:377)=psp(417:429)+yab*psp(118:130)
psp2(378:390)=psp(482:494)+xab*psp(118:130)
psp2(391:403)=psp(417:429)+zab*psp(131:143)
psp2(404:416)=psp(430:442)+yab*psp(131:143)
psp2(417:429)=psp(495:507)+xab*psp(131:143)
psp2(430:442)=psp(443:455)+zab*psp(144:156)
psp2(443:455)=psp(456:468)+yab*psp(144:156)
psp2(456:468)=psp(508:520)+xab*psp(144:156)
psp2(469:481)=psp(456:468)+zab*psp(157:169)
psp2(482:494)=psp(469:481)+yab*psp(157:169)
psp2(495:507)=psp(521:533)+xab*psp(157:169)
psp2(508:520)=psp(469:481)+zab*psp(170:182)
psp2(521:533)=psp(482:494)+yab*psp(170:182)
psp2(534:546)=psp(534:546)+xab*psp(170:182)
psp2(547:559)=psp(482:494)+zab*psp(183:195)
psp2(560:572)=psp(495:507)+yab*psp(183:195)
psp2(573:585)=psp(547:559)+xab*psp(183:195)
psp2(586:598)=psp(508:520)+zab*psp(196:208)
psp2(599:611)=psp(521:533)+yab*psp(196:208)
psp2(612:624)=psp(560:572)+xab*psp(196:208)
psp2(625:637)=psp(521:533)+zab*psp(209:221)
psp2(638:650)=psp(534:546)+yab*psp(209:221)
psp2(651:663)=psp(573:585)+xab*psp(209:221)
psp2(664:676)=psp(534:546)+zab*psp(222:234)
psp2(677:689)=psp(547:559)+yab*psp(222:234)
psp2(690:702)=psp(586:598)+xab*psp(222:234)
psp2(703:715)=psp(560:572)+zab*psp(235:247)
psp2(716:728)=psp(573:585)+yab*psp(235:247)
psp2(729:741)=psp(599:611)+xab*psp(235:247)
psp2(742:754)=psp(573:585)+zab*psp(248:260)
psp2(755:767)=psp(586:598)+yab*psp(248:260)
psp2(768:780)=psp(612:624)+xab*psp(248:260)
psp2(781:793)=psp(599:611)+zab*psp(261:273)
psp2(794:806)=psp(612:624)+yab*psp(261:273)
psp2(807:819)=psp(625:637)+xab*psp(261:273)
sp(1:39)=psp2(196:234)*0.70156076002011391601d0+psp2(547:585)*(-7.
$01560760020113871605d0)+psp2(742:780)*3.50780380010056935802d0
sp(40:78)=psp2(352:390)*(-8.87411967464942463835d0)+psp2(625:663)*
$8.87411967464942463835d0
sp(79:117)=psp2(118:156)*(-4.18330013267037692515d0)+psp2(196:234)
$*0.52291251658379711564d0+psp2(469:507)*12.54990039801113255180d0+
$psp2(547:585)*(-1.04582503316759423129d0)+psp2(742:780)*(-1.568737
$54975139156898d0)
sp(118:156)=psp2(274:312)*10.24695076595959974952d0+psp2(352:390)*
$(-5.12347538297979987476d0)+psp2(625:663)*(-5.12347538297979987476
$d0)
sp(157:195)=psp2(40:78)*3.87298334620741613321d0+psp2(118:156)*(-5
$.80947501931112419982d0)+psp2(196:234)*0.48412291827592701665d0+ps
$p2(469:507)*(-5.80947501931112419982d0)+psp2(547:585)*0.9682458365
$5185403330d0+psp2(742:780)*0.48412291827592701665d0
sp(196:234)=psp2(1:39)+psp2(79:117)*(-5.00000000000000000000d0)+ps
$p2(157:195)*1.87500000000000000000d0+psp2(430:468)*(-5.00000000000
$000000000d0)+psp2(508:546)*3.75000000000000000000d0+psp2(703:741)*
$1.87500000000000000000d0
sp(235:273)=psp2(235:273)*3.87298334620741613321d0+psp2(313:351)*(
$-5.80947501931112419982d0)+psp2(391:429)*0.48412291827592701665d0+
$psp2(586:624)*(-5.80947501931112419982d0)+psp2(664:702)*0.96824583
$655185403330d0+psp2(781:819)*0.48412291827592701665d0
sp(274:312)=psp2(79:117)*(-5.12347538297979987476d0)+psp2(157:195)
$*2.56173769148989993738d0+psp2(430:468)*5.12347538297979987476d0+p
$sp2(703:741)*(-2.56173769148989993738d0)
sp(313:351)=psp2(313:351)*(-12.54990039801113255180d0)+psp2(391:42
$9)*1.56873754975139156898d0+psp2(586:624)*4.18330013267037692515d0
$+psp2(664:702)*1.04582503316759423129d0+psp2(781:819)*(-0.52291251
$658379711564d0)
sp(352:390)=psp2(157:195)*2.21852991866235615959d0+psp2(508:546)*(
$-13.31117951197413695752d0)+psp2(703:741)*2.21852991866235615959d0
sp(391:429)=psp2(391:429)*3.50780380010056935802d0+psp2(664:702)*(
$-7.01560760020113871605d0)+psp2(781:819)*0.70156076002011391601d0
return
end
subroutine hrrspher_hds_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(126),psp(85)
real*8 psp2(126)
real*8 hps(63),ips(84),xab,yab,zab
hps(1:6)=psp(22:27)+zab*psp(1:6)
hps(7:11)=psp(29:33)+zab*psp(7:11)
hps(12:15)=psp(35:38)+zab*psp(12:15)
hps(16:18)=psp(40:42)+zab*psp(16:18)
hps(19:20)=psp(44:45)+zab*psp(19:20)
hps(21)=psp(47)+zab*psp(21)
hps(22:27)=psp(23:28)+yab*psp(1:6)
hps(28:32)=psp(30:34)+yab*psp(7:11)
hps(33:36)=psp(36:39)+yab*psp(12:15)
hps(37:39)=psp(41:43)+yab*psp(16:18)
hps(40:41)=psp(45:46)+yab*psp(19:20)
hps(42)=psp(48)+yab*psp(21)
hps(43:63)=psp(29:49)+xab*psp(1:21)
ips(1:7)=psp(50:56)+zab*psp(22:28)
ips(8:13)=psp(58:63)+zab*psp(29:34)
ips(14:18)=psp(65:69)+zab*psp(35:39)
ips(19:22)=psp(71:74)+zab*psp(40:43)
ips(23:25)=psp(76:78)+zab*psp(44:46)
ips(26:27)=psp(80:81)+zab*psp(47:48)
ips(28)=psp(83)+zab*psp(49)
ips(29:35)=psp(51:57)+yab*psp(22:28)
ips(36:41)=psp(59:64)+yab*psp(29:34)
ips(42:46)=psp(66:70)+yab*psp(35:39)
ips(47:50)=psp(72:75)+yab*psp(40:43)
ips(51:53)=psp(77:79)+yab*psp(44:46)
ips(54:55)=psp(81:82)+yab*psp(47:48)
ips(56)=psp(84)+yab*psp(49)
ips(57:84)=psp(58:85)+xab*psp(22:49)
psp2(1:6)=ips(1:6)+zab*hps(1:6)
psp2(7:11)=ips(8:12)+zab*hps(7:11)
psp2(12:15)=ips(14:17)+zab*hps(12:15)
psp2(16:18)=ips(19:21)+zab*hps(16:18)
psp2(19:20)=ips(23:24)+zab*hps(19:20)
psp2(21)=ips(26)+zab*hps(21)
psp2(22:27)=ips(29:34)+zab*hps(22:27)
psp2(28:32)=ips(36:40)+zab*hps(28:32)
psp2(33:36)=ips(42:45)+zab*hps(33:36)
psp2(37:39)=ips(47:49)+zab*hps(37:39)
psp2(40:41)=ips(51:52)+zab*hps(40:41)
psp2(42)=ips(54)+zab*hps(42)
psp2(43:48)=ips(30:35)+yab*hps(22:27)
psp2(49:53)=ips(37:41)+yab*hps(28:32)
psp2(54:57)=ips(43:46)+yab*hps(33:36)
psp2(58:60)=ips(48:50)+yab*hps(37:39)
psp2(61:62)=ips(52:53)+yab*hps(40:41)
psp2(63)=ips(55)+yab*hps(42)
psp2(64:69)=ips(57:62)+zab*hps(43:48)
psp2(70:74)=ips(64:68)+zab*hps(49:53)
psp2(75:78)=ips(70:73)+zab*hps(54:57)
psp2(79:81)=ips(75:77)+zab*hps(58:60)
psp2(82:83)=ips(79:80)+zab*hps(61:62)
psp2(84)=ips(82)+zab*hps(63)
psp2(85:90)=ips(58:63)+yab*hps(43:48)
psp2(91:95)=ips(65:69)+yab*hps(49:53)
psp2(96:99)=ips(71:74)+yab*hps(54:57)
psp2(100:102)=ips(76:78)+yab*hps(58:60)
psp2(103:104)=ips(80:81)+yab*hps(61:62)
psp2(105)=ips(83)+yab*hps(63)
psp2(106:126)=ips(64:84)+xab*hps(43:63)
sp(1:21)=psp2(85:105)*1.73205080756887697113d0
sp(22:42)=psp2(22:42)*1.73205080756887697113d0
sp(43:63)=psp2(1:21)+psp2(43:63)*(-0.50000000000000000000d0)+psp2(
$106:126)*(-0.50000000000000000000d0)
sp(64:84)=psp2(64:84)*1.73205080756887697113d0
sp(85:105)=psp2(43:63)*(-0.86602540378443848557d0)+psp2(106:126)*0
$.86602540378443848557d0
do ji=1,21
ii=(ji-1)*5
do ki=1,5
psp2(ii+ki)=sp((ki-1)*21+ji)
enddo
enddo
sp(1:5)=psp2(26:30)*0.70156076002011391601d0+psp2(71:75)*(-7.01560
$760020113871605d0)+psp2(96:100)*3.50780380010056935802d0
sp(6:10)=psp2(46:50)*(-8.87411967464942463835d0)+psp2(81:85)*8.874
$11967464942463835d0
sp(11:15)=psp2(16:20)*(-4.18330013267037692515d0)+psp2(26:30)*0.52
$291251658379711564d0+psp2(61:65)*12.54990039801113255180d0+psp2(71
$:75)*(-1.04582503316759423129d0)+psp2(96:100)*(-1.5687375497513915
$6898d0)
sp(16:20)=psp2(36:40)*10.24695076595959974952d0+psp2(46:50)*(-5.12
$347538297979987476d0)+psp2(81:85)*(-5.12347538297979987476d0)
sp(21:25)=psp2(6:10)*3.87298334620741613321d0+psp2(16:20)*(-5.8094
$7501931112419982d0)+psp2(26:30)*0.48412291827592701665d0+psp2(61:6
$5)*(-5.80947501931112419982d0)+psp2(71:75)*0.96824583655185403330d
$0+psp2(96:100)*0.48412291827592701665d0
sp(26:30)=psp2(1:5)+psp2(11:15)*(-5.00000000000000000000d0)+psp2(2
$1:25)*1.87500000000000000000d0+psp2(56:60)*(-5.0000000000000000000
$0d0)+psp2(66:70)*3.75000000000000000000d0+psp2(91:95)*1.8750000000
$0000000000d0
sp(31:35)=psp2(31:35)*3.87298334620741613321d0+psp2(41:45)*(-5.809
$47501931112419982d0)+psp2(51:55)*0.48412291827592701665d0+psp2(76:
$80)*(-5.80947501931112419982d0)+psp2(86:90)*0.96824583655185403330
$d0+psp2(101:105)*0.48412291827592701665d0
sp(36:40)=psp2(11:15)*(-5.12347538297979987476d0)+psp2(21:25)*2.56
$173769148989993738d0+psp2(56:60)*5.12347538297979987476d0+psp2(91:
$95)*(-2.56173769148989993738d0)
sp(41:45)=psp2(41:45)*(-12.54990039801113255180d0)+psp2(51:55)*1.5
$6873754975139156898d0+psp2(76:80)*4.18330013267037692515d0+psp2(86
$:90)*1.04582503316759423129d0+psp2(101:105)*(-0.522912516583797115
$64d0)
sp(46:50)=psp2(21:25)*2.21852991866235615959d0+psp2(66:70)*(-13.31
$117951197413695752d0)+psp2(91:95)*2.21852991866235615959d0
sp(51:55)=psp2(51:55)*3.50780380010056935802d0+psp2(86:90)*(-7.015
$60760020113871605d0)+psp2(101:105)*0.70156076002011391601d0
return
end
subroutine hrrspher_hdp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(378),psp(255)
real*8 psp2(378)
real*8 hpp(189),ipp(252),xab,yab,zab
hpp(1:18)=psp(64:81)+zab*psp(1:18)
hpp(19:33)=psp(85:99)+zab*psp(19:33)
hpp(34:45)=psp(103:114)+zab*psp(34:45)
hpp(46:54)=psp(118:126)+zab*psp(46:54)
hpp(55:60)=psp(130:135)+zab*psp(55:60)
hpp(61:63)=psp(139:141)+zab*psp(61:63)
hpp(64:81)=psp(67:84)+yab*psp(1:18)
hpp(82:96)=psp(88:102)+yab*psp(19:33)
hpp(97:108)=psp(106:117)+yab*psp(34:45)
hpp(109:117)=psp(121:129)+yab*psp(46:54)
hpp(118:123)=psp(133:138)+yab*psp(55:60)
hpp(124:126)=psp(142:144)+yab*psp(61:63)
hpp(127:189)=psp(85:147)+xab*psp(1:63)
ipp(1:21)=psp(148:168)+zab*psp(64:84)
ipp(22:39)=psp(172:189)+zab*psp(85:102)
ipp(40:54)=psp(193:207)+zab*psp(103:117)
ipp(55:66)=psp(211:222)+zab*psp(118:129)
ipp(67:75)=psp(226:234)+zab*psp(130:138)
ipp(76:81)=psp(238:243)+zab*psp(139:144)
ipp(82:84)=psp(247:249)+zab*psp(145:147)
ipp(85:105)=psp(151:171)+yab*psp(64:84)
ipp(106:123)=psp(175:192)+yab*psp(85:102)
ipp(124:138)=psp(196:210)+yab*psp(103:117)
ipp(139:150)=psp(214:225)+yab*psp(118:129)
ipp(151:159)=psp(229:237)+yab*psp(130:138)
ipp(160:165)=psp(241:246)+yab*psp(139:144)
ipp(166:168)=psp(250:252)+yab*psp(145:147)
ipp(169:252)=psp(172:255)+xab*psp(64:147)
psp2(1:18)=ipp(1:18)+zab*hpp(1:18)
psp2(19:33)=ipp(22:36)+zab*hpp(19:33)
psp2(34:45)=ipp(40:51)+zab*hpp(34:45)
psp2(46:54)=ipp(55:63)+zab*hpp(46:54)
psp2(55:60)=ipp(67:72)+zab*hpp(55:60)
psp2(61:63)=ipp(76:78)+zab*hpp(61:63)
psp2(64:81)=ipp(85:102)+zab*hpp(64:81)
psp2(82:96)=ipp(106:120)+zab*hpp(82:96)
psp2(97:108)=ipp(124:135)+zab*hpp(97:108)
psp2(109:117)=ipp(139:147)+zab*hpp(109:117)
psp2(118:123)=ipp(151:156)+zab*hpp(118:123)
psp2(124:126)=ipp(160:162)+zab*hpp(124:126)
psp2(127:144)=ipp(88:105)+yab*hpp(64:81)
psp2(145:159)=ipp(109:123)+yab*hpp(82:96)
psp2(160:171)=ipp(127:138)+yab*hpp(97:108)
psp2(172:180)=ipp(142:150)+yab*hpp(109:117)
psp2(181:186)=ipp(154:159)+yab*hpp(118:123)
psp2(187:189)=ipp(163:165)+yab*hpp(124:126)
psp2(190:207)=ipp(169:186)+zab*hpp(127:144)
psp2(208:222)=ipp(190:204)+zab*hpp(145:159)
psp2(223:234)=ipp(208:219)+zab*hpp(160:171)
psp2(235:243)=ipp(223:231)+zab*hpp(172:180)
psp2(244:249)=ipp(235:240)+zab*hpp(181:186)
psp2(250:252)=ipp(244:246)+zab*hpp(187:189)
psp2(253:270)=ipp(172:189)+yab*hpp(127:144)
psp2(271:285)=ipp(193:207)+yab*hpp(145:159)
psp2(286:297)=ipp(211:222)+yab*hpp(160:171)
psp2(298:306)=ipp(226:234)+yab*hpp(172:180)
psp2(307:312)=ipp(238:243)+yab*hpp(181:186)
psp2(313:315)=ipp(247:249)+yab*hpp(187:189)
psp2(316:378)=ipp(190:252)+xab*hpp(127:189)
sp(1:63)=psp2(253:315)*1.73205080756887697113d0
sp(64:126)=psp2(64:126)*1.73205080756887697113d0
sp(127:189)=psp2(1:63)+psp2(127:189)*(-0.50000000000000000000d0)+p
$sp2(316:378)*(-0.50000000000000000000d0)
sp(190:252)=psp2(190:252)*1.73205080756887697113d0
sp(253:315)=psp2(127:189)*(-0.86602540378443848557d0)+psp2(316:378
$)*0.86602540378443848557d0
do ji=0,4
ki=ji*63
jk=ji*3
do ii=0,20
k=ii*3
il=ii*15
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:15)=psp2(76:90)*0.70156076002011391601d0+psp2(211:225)*(-7.01
$560760020113871605d0)+psp2(286:300)*3.50780380010056935802d0
sp(16:30)=psp2(136:150)*(-8.87411967464942463835d0)+psp2(241:255)*
$8.87411967464942463835d0
sp(31:45)=psp2(46:60)*(-4.18330013267037692515d0)+psp2(76:90)*0.52
$291251658379711564d0+psp2(181:195)*12.54990039801113255180d0+psp2(
$211:225)*(-1.04582503316759423129d0)+psp2(286:300)*(-1.56873754975
$139156898d0)
sp(46:60)=psp2(106:120)*10.24695076595959974952d0+psp2(136:150)*(-
$5.12347538297979987476d0)+psp2(241:255)*(-5.12347538297979987476d0
$)
sp(61:75)=psp2(16:30)*3.87298334620741613321d0+psp2(46:60)*(-5.809
$47501931112419982d0)+psp2(76:90)*0.48412291827592701665d0+psp2(181
$:195)*(-5.80947501931112419982d0)+psp2(211:225)*0.9682458365518540
$3330d0+psp2(286:300)*0.48412291827592701665d0
sp(76:90)=psp2(1:15)+psp2(31:45)*(-5.00000000000000000000d0)+psp2(
$61:75)*1.87500000000000000000d0+psp2(166:180)*(-5.0000000000000000
$0000d0)+psp2(196:210)*3.75000000000000000000d0+psp2(271:285)*1.875
$00000000000000000d0
sp(91:105)=psp2(91:105)*3.87298334620741613321d0+psp2(121:135)*(-5
$.80947501931112419982d0)+psp2(151:165)*0.48412291827592701665d0+ps
$p2(226:240)*(-5.80947501931112419982d0)+psp2(256:270)*0.9682458365
$5185403330d0+psp2(301:315)*0.48412291827592701665d0
sp(106:120)=psp2(31:45)*(-5.12347538297979987476d0)+psp2(61:75)*2.
$56173769148989993738d0+psp2(166:180)*5.12347538297979987476d0+psp2
$(271:285)*(-2.56173769148989993738d0)
sp(121:135)=psp2(121:135)*(-12.54990039801113255180d0)+psp2(151:16
$5)*1.56873754975139156898d0+psp2(226:240)*4.18330013267037692515d0
$+psp2(256:270)*1.04582503316759423129d0+psp2(301:315)*(-0.52291251
$658379711564d0)
sp(136:150)=psp2(61:75)*2.21852991866235615959d0+psp2(196:210)*(-1
$3.31117951197413695752d0)+psp2(271:285)*2.21852991866235615959d0
sp(151:165)=psp2(151:165)*3.50780380010056935802d0+psp2(256:270)*(
$-7.01560760020113871605d0)+psp2(301:315)*0.70156076002011391601d0
return
end
subroutine hrrspher_hdd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(630),psp(510)
real*8 psp2(630)
real*8 hpd(315),ipd(420),xab,yab,zab
sp(1:85)=psp(341:425)*1.73205080756887697113d0
sp(86:170)=psp(86:170)*1.73205080756887697113d0
sp(171:255)=psp(1:85)+psp(171:255)*(-0.50000000000000000000d0)+psp
$(426:510)*(-0.50000000000000000000d0)
sp(256:340)=psp(256:340)*1.73205080756887697113d0
sp(341:425)=psp(171:255)*(-0.86602540378443848557d0)+psp(426:510)*
$0.86602540378443848557d0
do ii=1,5
ji=(ii-1)*85
do ki=1,85
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
hpd(1:30)=psp(106:135)+zab*psp(1:30)
hpd(31:55)=psp(141:165)+zab*psp(31:55)
hpd(56:75)=psp(171:190)+zab*psp(56:75)
hpd(76:90)=psp(196:210)+zab*psp(76:90)
hpd(91:100)=psp(216:225)+zab*psp(91:100)
hpd(101:105)=psp(231:235)+zab*psp(101:105)
hpd(106:135)=psp(111:140)+yab*psp(1:30)
hpd(136:160)=psp(146:170)+yab*psp(31:55)
hpd(161:180)=psp(176:195)+yab*psp(56:75)
hpd(181:195)=psp(201:215)+yab*psp(76:90)
hpd(196:205)=psp(221:230)+yab*psp(91:100)
hpd(206:210)=psp(236:240)+yab*psp(101:105)
hpd(211:315)=psp(141:245)+xab*psp(1:105)
ipd(1:35)=psp(246:280)+zab*psp(106:140)
ipd(36:65)=psp(286:315)+zab*psp(141:170)
ipd(66:90)=psp(321:345)+zab*psp(171:195)
ipd(91:110)=psp(351:370)+zab*psp(196:215)
ipd(111:125)=psp(376:390)+zab*psp(216:230)
ipd(126:135)=psp(396:405)+zab*psp(231:240)
ipd(136:140)=psp(411:415)+zab*psp(241:245)
ipd(141:175)=psp(251:285)+yab*psp(106:140)
ipd(176:205)=psp(291:320)+yab*psp(141:170)
ipd(206:230)=psp(326:350)+yab*psp(171:195)
ipd(231:250)=psp(356:375)+yab*psp(196:215)
ipd(251:265)=psp(381:395)+yab*psp(216:230)
ipd(266:275)=psp(401:410)+yab*psp(231:240)
ipd(276:280)=psp(416:420)+yab*psp(241:245)
ipd(281:420)=psp(286:425)+xab*psp(106:245)
psp2(1:30)=ipd(1:30)+zab*hpd(1:30)
psp2(31:55)=ipd(36:60)+zab*hpd(31:55)
psp2(56:75)=ipd(66:85)+zab*hpd(56:75)
psp2(76:90)=ipd(91:105)+zab*hpd(76:90)
psp2(91:100)=ipd(111:120)+zab*hpd(91:100)
psp2(101:105)=ipd(126:130)+zab*hpd(101:105)
psp2(106:135)=ipd(141:170)+zab*hpd(106:135)
psp2(136:160)=ipd(176:200)+zab*hpd(136:160)
psp2(161:180)=ipd(206:225)+zab*hpd(161:180)
psp2(181:195)=ipd(231:245)+zab*hpd(181:195)
psp2(196:205)=ipd(251:260)+zab*hpd(196:205)
psp2(206:210)=ipd(266:270)+zab*hpd(206:210)
psp2(211:240)=ipd(146:175)+yab*hpd(106:135)
psp2(241:265)=ipd(181:205)+yab*hpd(136:160)
psp2(266:285)=ipd(211:230)+yab*hpd(161:180)
psp2(286:300)=ipd(236:250)+yab*hpd(181:195)
psp2(301:310)=ipd(256:265)+yab*hpd(196:205)
psp2(311:315)=ipd(271:275)+yab*hpd(206:210)
psp2(316:345)=ipd(281:310)+zab*hpd(211:240)
psp2(346:370)=ipd(316:340)+zab*hpd(241:265)
psp2(371:390)=ipd(346:365)+zab*hpd(266:285)
psp2(391:405)=ipd(371:385)+zab*hpd(286:300)
psp2(406:415)=ipd(391:400)+zab*hpd(301:310)
psp2(416:420)=ipd(406:410)+zab*hpd(311:315)
psp2(421:450)=ipd(286:315)+yab*hpd(211:240)
psp2(451:475)=ipd(321:345)+yab*hpd(241:265)
psp2(476:495)=ipd(351:370)+yab*hpd(266:285)
psp2(496:510)=ipd(376:390)+yab*hpd(286:300)
psp2(511:520)=ipd(396:405)+yab*hpd(301:310)
psp2(521:525)=ipd(411:415)+yab*hpd(311:315)
psp2(526:630)=ipd(316:420)+xab*hpd(211:315)
sp(1:105)=psp2(421:525)*1.73205080756887697113d0
sp(106:210)=psp2(106:210)*1.73205080756887697113d0
sp(211:315)=psp2(1:105)+psp2(211:315)*(-0.50000000000000000000d0)+
$psp2(526:630)*(-0.50000000000000000000d0)
sp(316:420)=psp2(316:420)*1.73205080756887697113d0
sp(421:525)=psp2(211:315)*(-0.86602540378443848557d0)+psp2(526:630
$)*0.86602540378443848557d0
do ji=0,4
ki=ji*105
jk=ji*5
do ii=0,20
k=ii*5
il=ii*25
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:25)=psp2(126:150)*0.70156076002011391601d0+psp2(351:375)*(-7.
$01560760020113871605d0)+psp2(476:500)*3.50780380010056935802d0
sp(26:50)=psp2(226:250)*(-8.87411967464942463835d0)+psp2(401:425)*
$8.87411967464942463835d0
sp(51:75)=psp2(76:100)*(-4.18330013267037692515d0)+psp2(126:150)*0
$.52291251658379711564d0+psp2(301:325)*12.54990039801113255180d0+ps
$p2(351:375)*(-1.04582503316759423129d0)+psp2(476:500)*(-1.56873754
$975139156898d0)
sp(76:100)=psp2(176:200)*10.24695076595959974952d0+psp2(226:250)*(
$-5.12347538297979987476d0)+psp2(401:425)*(-5.12347538297979987476d
$0)
sp(101:125)=psp2(26:50)*3.87298334620741613321d0+psp2(76:100)*(-5.
$80947501931112419982d0)+psp2(126:150)*0.48412291827592701665d0+psp
$2(301:325)*(-5.80947501931112419982d0)+psp2(351:375)*0.96824583655
$185403330d0+psp2(476:500)*0.48412291827592701665d0
sp(126:150)=psp2(1:25)+psp2(51:75)*(-5.00000000000000000000d0)+psp
$2(101:125)*1.87500000000000000000d0+psp2(276:300)*(-5.000000000000
$00000000d0)+psp2(326:350)*3.75000000000000000000d0+psp2(451:475)*1
$.87500000000000000000d0
sp(151:175)=psp2(151:175)*3.87298334620741613321d0+psp2(201:225)*(
$-5.80947501931112419982d0)+psp2(251:275)*0.48412291827592701665d0+
$psp2(376:400)*(-5.80947501931112419982d0)+psp2(426:450)*0.96824583
$655185403330d0+psp2(501:525)*0.48412291827592701665d0
sp(176:200)=psp2(51:75)*(-5.12347538297979987476d0)+psp2(101:125)*
$2.56173769148989993738d0+psp2(276:300)*5.12347538297979987476d0+ps
$p2(451:475)*(-2.56173769148989993738d0)
sp(201:225)=psp2(201:225)*(-12.54990039801113255180d0)+psp2(251:27
$5)*1.56873754975139156898d0+psp2(376:400)*4.18330013267037692515d0
$+psp2(426:450)*1.04582503316759423129d0+psp2(501:525)*(-0.52291251
$658379711564d0)
sp(226:250)=psp2(101:125)*2.21852991866235615959d0+psp2(326:350)*(
$-13.31117951197413695752d0)+psp2(451:475)*2.21852991866235615959d0
sp(251:275)=psp2(251:275)*3.50780380010056935802d0+psp2(426:450)*(
$-7.01560760020113871605d0)+psp2(501:525)*0.70156076002011391601d0
return
end
subroutine hrrspher_hdf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(882),psp(850)
real*8 psp2(882)
real*8 hpf(441),ipf(588),xab,yab,zab
sp(1:85)=psp(256:340)*(-0.79056941504209476967d0)+psp(681:765)*2.3
$7170824512628453107d0
sp(86:170)=psp(426:510)*3.87298334620741657730d0
sp(171:255)=psp(86:170)*2.44948974278317788134d0+psp(256:340)*(-0.
$61237243569579447033d0)+psp(681:765)*(-0.61237243569579447033d0)
sp(256:340)=psp(1:85)+psp(171:255)*(-1.50000000000000000000d0)+psp
$(596:680)*(-1.50000000000000000000d0)
sp(341:425)=psp(341:425)*2.44948974278317788134d0+psp(511:595)*(-0
$.61237243569579447033d0)+psp(766:850)*(-0.61237243569579447033d0)
sp(426:510)=psp(171:255)*(-1.93649167310370828865d0)+psp(596:680)*
$1.93649167310370828865d0
sp(511:595)=psp(511:595)*(-2.37170824512628453107d0)+psp(766:850)*
$0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*85
do ki=1,85
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
hpf(1:42)=psp(148:189)+zab*psp(1:42)
hpf(43:77)=psp(197:231)+zab*psp(43:77)
hpf(78:105)=psp(239:266)+zab*psp(78:105)
hpf(106:126)=psp(274:294)+zab*psp(106:126)
hpf(127:140)=psp(302:315)+zab*psp(127:140)
hpf(141:147)=psp(323:329)+zab*psp(141:147)
hpf(148:189)=psp(155:196)+yab*psp(1:42)
hpf(190:224)=psp(204:238)+yab*psp(43:77)
hpf(225:252)=psp(246:273)+yab*psp(78:105)
hpf(253:273)=psp(281:301)+yab*psp(106:126)
hpf(274:287)=psp(309:322)+yab*psp(127:140)
hpf(288:294)=psp(330:336)+yab*psp(141:147)
hpf(295:441)=psp(197:343)+xab*psp(1:147)
ipf(1:49)=psp(344:392)+zab*psp(148:196)
ipf(50:91)=psp(400:441)+zab*psp(197:238)
ipf(92:126)=psp(449:483)+zab*psp(239:273)
ipf(127:154)=psp(491:518)+zab*psp(274:301)
ipf(155:175)=psp(526:546)+zab*psp(302:322)
ipf(176:189)=psp(554:567)+zab*psp(323:336)
ipf(190:196)=psp(575:581)+zab*psp(337:343)
ipf(197:245)=psp(351:399)+yab*psp(148:196)
ipf(246:287)=psp(407:448)+yab*psp(197:238)
ipf(288:322)=psp(456:490)+yab*psp(239:273)
ipf(323:350)=psp(498:525)+yab*psp(274:301)
ipf(351:371)=psp(533:553)+yab*psp(302:322)
ipf(372:385)=psp(561:574)+yab*psp(323:336)
ipf(386:392)=psp(582:588)+yab*psp(337:343)
ipf(393:588)=psp(400:595)+xab*psp(148:343)
psp2(1:42)=ipf(1:42)+zab*hpf(1:42)
psp2(43:77)=ipf(50:84)+zab*hpf(43:77)
psp2(78:105)=ipf(92:119)+zab*hpf(78:105)
psp2(106:126)=ipf(127:147)+zab*hpf(106:126)
psp2(127:140)=ipf(155:168)+zab*hpf(127:140)
psp2(141:147)=ipf(176:182)+zab*hpf(141:147)
psp2(148:189)=ipf(197:238)+zab*hpf(148:189)
psp2(190:224)=ipf(246:280)+zab*hpf(190:224)
psp2(225:252)=ipf(288:315)+zab*hpf(225:252)
psp2(253:273)=ipf(323:343)+zab*hpf(253:273)
psp2(274:287)=ipf(351:364)+zab*hpf(274:287)
psp2(288:294)=ipf(372:378)+zab*hpf(288:294)
psp2(295:336)=ipf(204:245)+yab*hpf(148:189)
psp2(337:371)=ipf(253:287)+yab*hpf(190:224)
psp2(372:399)=ipf(295:322)+yab*hpf(225:252)
psp2(400:420)=ipf(330:350)+yab*hpf(253:273)
psp2(421:434)=ipf(358:371)+yab*hpf(274:287)
psp2(435:441)=ipf(379:385)+yab*hpf(288:294)
psp2(442:483)=ipf(393:434)+zab*hpf(295:336)
psp2(484:518)=ipf(442:476)+zab*hpf(337:371)
psp2(519:546)=ipf(484:511)+zab*hpf(372:399)
psp2(547:567)=ipf(519:539)+zab*hpf(400:420)
psp2(568:581)=ipf(547:560)+zab*hpf(421:434)
psp2(582:588)=ipf(568:574)+zab*hpf(435:441)
psp2(589:630)=ipf(400:441)+yab*hpf(295:336)
psp2(631:665)=ipf(449:483)+yab*hpf(337:371)
psp2(666:693)=ipf(491:518)+yab*hpf(372:399)
psp2(694:714)=ipf(526:546)+yab*hpf(400:420)
psp2(715:728)=ipf(554:567)+yab*hpf(421:434)
psp2(729:735)=ipf(575:581)+yab*hpf(435:441)
psp2(736:882)=ipf(442:588)+xab*hpf(295:441)
sp(1:147)=psp2(589:735)*1.73205080756887697113d0
sp(148:294)=psp2(148:294)*1.73205080756887697113d0
sp(295:441)=psp2(1:147)+psp2(295:441)*(-0.50000000000000000000d0)+
$psp2(736:882)*(-0.50000000000000000000d0)
sp(442:588)=psp2(442:588)*1.73205080756887697113d0
sp(589:735)=psp2(295:441)*(-0.86602540378443848557d0)+psp2(736:882
$)*0.86602540378443848557d0
do ji=0,4
ki=ji*147
jk=ji*7
do ii=0,20
k=ii*7
il=ii*35
do ik=1,7
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:35)=psp2(176:210)*0.70156076002011391601d0+psp2(491:525)*(-7.
$01560760020113871605d0)+psp2(666:700)*3.50780380010056935802d0
sp(36:70)=psp2(316:350)*(-8.87411967464942463835d0)+psp2(561:595)*
$8.87411967464942463835d0
sp(71:105)=psp2(106:140)*(-4.18330013267037692515d0)+psp2(176:210)
$*0.52291251658379711564d0+psp2(421:455)*12.54990039801113255180d0+
$psp2(491:525)*(-1.04582503316759423129d0)+psp2(666:700)*(-1.568737
$54975139156898d0)
sp(106:140)=psp2(246:280)*10.24695076595959974952d0+psp2(316:350)*
$(-5.12347538297979987476d0)+psp2(561:595)*(-5.12347538297979987476
$d0)
sp(141:175)=psp2(36:70)*3.87298334620741613321d0+psp2(106:140)*(-5
$.80947501931112419982d0)+psp2(176:210)*0.48412291827592701665d0+ps
$p2(421:455)*(-5.80947501931112419982d0)+psp2(491:525)*0.9682458365
$5185403330d0+psp2(666:700)*0.48412291827592701665d0
sp(176:210)=psp2(1:35)+psp2(71:105)*(-5.00000000000000000000d0)+ps
$p2(141:175)*1.87500000000000000000d0+psp2(386:420)*(-5.00000000000
$000000000d0)+psp2(456:490)*3.75000000000000000000d0+psp2(631:665)*
$1.87500000000000000000d0
sp(211:245)=psp2(211:245)*3.87298334620741613321d0+psp2(281:315)*(
$-5.80947501931112419982d0)+psp2(351:385)*0.48412291827592701665d0+
$psp2(526:560)*(-5.80947501931112419982d0)+psp2(596:630)*0.96824583
$655185403330d0+psp2(701:735)*0.48412291827592701665d0
sp(246:280)=psp2(71:105)*(-5.12347538297979987476d0)+psp2(141:175)
$*2.56173769148989993738d0+psp2(386:420)*5.12347538297979987476d0+p
$sp2(631:665)*(-2.56173769148989993738d0)
sp(281:315)=psp2(281:315)*(-12.54990039801113255180d0)+psp2(351:38
$5)*1.56873754975139156898d0+psp2(526:560)*4.18330013267037692515d0
$+psp2(596:630)*1.04582503316759423129d0+psp2(701:735)*(-0.52291251
$658379711564d0)
sp(316:350)=psp2(141:175)*2.21852991866235615959d0+psp2(456:490)*(
$-13.31117951197413695752d0)+psp2(631:665)*2.21852991866235615959d0
sp(351:385)=psp2(351:385)*3.50780380010056935802d0+psp2(596:630)*(
$-7.01560760020113871605d0)+psp2(701:735)*0.70156076002011391601d0
return
end
subroutine hrrspher_hdg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1134),psp(1275)
real*8 hpg(567),ipg(756),xab,yab,zab
sp(1:85)=psp(681:765)*(-2.95803989154980806475d0)+psp(1106:1190)*2
$.95803989154980806475d0
sp(86:170)=psp(256:340)*(-2.09165006633518890666d0)+psp(851:935)*6
$.27495019900556627590d0
sp(171:255)=psp(511:595)*6.70820393249936941515d0+psp(681:765)*(-1
$.11803398874989490253d0)+psp(1106:1190)*(-1.11803398874989490253d0
$)
sp(256:340)=psp(86:170)*3.16227766016837907870d0+psp(256:340)*(-2.
$37170824512628453107d0)+psp(851:935)*(-2.37170824512628453107d0)
sp(341:425)=psp(1:85)+psp(171:255)*(-3.00000000000000000000d0)+psp
$(341:425)*0.37500000000000000000d0+psp(766:850)*(-3.00000000000000
$000000d0)+psp(936:1020)*0.75000000000000000000d0+psp(1191:1275)*0.
$37500000000000000000d0
sp(426:510)=psp(426:510)*3.16227766016837907870d0+psp(596:680)*(-2
$.37170824512628453107d0)+psp(1021:1105)*(-2.37170824512628453107d0
$)
sp(511:595)=psp(171:255)*(-3.35410196624968470758d0)+psp(341:425)*
$0.55901699437494745126d0+psp(766:850)*3.35410196624968470758d0+psp
$(1191:1275)*(-0.55901699437494745126d0)
sp(596:680)=psp(596:680)*(-6.27495019900556627590d0)+psp(1021:1105
$)*2.09165006633518890666d0
sp(681:765)=psp(341:425)*0.73950997288745201619d0+psp(936:1020)*(-
$4.43705983732471231917d0)+psp(1191:1275)*0.73950997288745201619d0
do ii=1,9
ji=(ii-1)*85
do ki=1,85
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
hpg(1:54)=psp(190:243)+zab*psp(1:54)
hpg(55:99)=psp(253:297)+zab*psp(55:99)
hpg(100:135)=psp(307:342)+zab*psp(100:135)
hpg(136:162)=psp(352:378)+zab*psp(136:162)
hpg(163:180)=psp(388:405)+zab*psp(163:180)
hpg(181:189)=psp(415:423)+zab*psp(181:189)
hpg(190:243)=psp(199:252)+yab*psp(1:54)
hpg(244:288)=psp(262:306)+yab*psp(55:99)
hpg(289:324)=psp(316:351)+yab*psp(100:135)
hpg(325:351)=psp(361:387)+yab*psp(136:162)
hpg(352:369)=psp(397:414)+yab*psp(163:180)
hpg(370:378)=psp(424:432)+yab*psp(181:189)
hpg(379:567)=psp(253:441)+xab*psp(1:189)
ipg(1:63)=psp(442:504)+zab*psp(190:252)
ipg(64:117)=psp(514:567)+zab*psp(253:306)
ipg(118:162)=psp(577:621)+zab*psp(307:351)
ipg(163:198)=psp(631:666)+zab*psp(352:387)
ipg(199:225)=psp(676:702)+zab*psp(388:414)
ipg(226:243)=psp(712:729)+zab*psp(415:432)
ipg(244:252)=psp(739:747)+zab*psp(433:441)
ipg(253:315)=psp(451:513)+yab*psp(190:252)
ipg(316:369)=psp(523:576)+yab*psp(253:306)
ipg(370:414)=psp(586:630)+yab*psp(307:351)
ipg(415:450)=psp(640:675)+yab*psp(352:387)
ipg(451:477)=psp(685:711)+yab*psp(388:414)
ipg(478:495)=psp(721:738)+yab*psp(415:432)
ipg(496:504)=psp(748:756)+yab*psp(433:441)
ipg(505:756)=psp(514:765)+xab*psp(190:441)
psp(1:54)=ipg(1:54)+zab*hpg(1:54)
psp(55:99)=ipg(64:108)+zab*hpg(55:99)
psp(100:135)=ipg(118:153)+zab*hpg(100:135)
psp(136:162)=ipg(163:189)+zab*hpg(136:162)
psp(163:180)=ipg(199:216)+zab*hpg(163:180)
psp(181:189)=ipg(226:234)+zab*hpg(181:189)
psp(190:243)=ipg(253:306)+zab*hpg(190:243)
psp(244:288)=ipg(316:360)+zab*hpg(244:288)
psp(289:324)=ipg(370:405)+zab*hpg(289:324)
psp(325:351)=ipg(415:441)+zab*hpg(325:351)
psp(352:369)=ipg(451:468)+zab*hpg(352:369)
psp(370:378)=ipg(478:486)+zab*hpg(370:378)
psp(379:432)=ipg(262:315)+yab*hpg(190:243)
psp(433:477)=ipg(325:369)+yab*hpg(244:288)
psp(478:513)=ipg(379:414)+yab*hpg(289:324)
psp(514:540)=ipg(424:450)+yab*hpg(325:351)
psp(541:558)=ipg(460:477)+yab*hpg(352:369)
psp(559:567)=ipg(487:495)+yab*hpg(370:378)
psp(568:621)=ipg(505:558)+zab*hpg(379:432)
psp(622:666)=ipg(568:612)+zab*hpg(433:477)
psp(667:702)=ipg(622:657)+zab*hpg(478:513)
psp(703:729)=ipg(667:693)+zab*hpg(514:540)
psp(730:747)=ipg(703:720)+zab*hpg(541:558)
psp(748:756)=ipg(730:738)+zab*hpg(559:567)
psp(757:810)=ipg(514:567)+yab*hpg(379:432)
psp(811:855)=ipg(577:621)+yab*hpg(433:477)
psp(856:891)=ipg(631:666)+yab*hpg(478:513)
psp(892:918)=ipg(676:702)+yab*hpg(514:540)
psp(919:936)=ipg(712:729)+yab*hpg(541:558)
psp(937:945)=ipg(739:747)+yab*hpg(559:567)
psp(946:1134)=ipg(568:756)+xab*hpg(379:567)
sp(1:189)=psp(757:945)*1.73205080756887697113d0
sp(190:378)=psp(190:378)*1.73205080756887697113d0
sp(379:567)=psp(1:189)+psp(379:567)*(-0.50000000000000000000d0)+ps
$p(946:1134)*(-0.50000000000000000000d0)
sp(568:756)=psp(568:756)*1.73205080756887697113d0
sp(757:945)=psp(379:567)*(-0.86602540378443848557d0)+psp(946:1134)
$*0.86602540378443848557d0
do ji=0,4
ki=ji*189
jk=ji*9
do ii=0,20
k=ii*9
il=ii*45
do ik=1,9
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:45)=psp(226:270)*0.70156076002011391601d0+psp(631:675)*(-7.01
$560760020113871605d0)+psp(856:900)*3.50780380010056935802d0
sp(46:90)=psp(406:450)*(-8.87411967464942463835d0)+psp(721:765)*8.
$87411967464942463835d0
sp(91:135)=psp(136:180)*(-4.18330013267037692515d0)+psp(226:270)*0
$.52291251658379711564d0+psp(541:585)*12.54990039801113255180d0+psp
$(631:675)*(-1.04582503316759423129d0)+psp(856:900)*(-1.56873754975
$139156898d0)
sp(136:180)=psp(316:360)*10.24695076595959974952d0+psp(406:450)*(-
$5.12347538297979987476d0)+psp(721:765)*(-5.12347538297979987476d0)
sp(181:225)=psp(46:90)*3.87298334620741613321d0+psp(136:180)*(-5.8
$0947501931112419982d0)+psp(226:270)*0.48412291827592701665d0+psp(5
$41:585)*(-5.80947501931112419982d0)+psp(631:675)*0.968245836551854
$03330d0+psp(856:900)*0.48412291827592701665d0
sp(226:270)=psp(1:45)+psp(91:135)*(-5.00000000000000000000d0)+psp(
$181:225)*1.87500000000000000000d0+psp(496:540)*(-5.000000000000000
$00000d0)+psp(586:630)*3.75000000000000000000d0+psp(811:855)*1.8750
$0000000000000000d0
sp(271:315)=psp(271:315)*3.87298334620741613321d0+psp(361:405)*(-5
$.80947501931112419982d0)+psp(451:495)*0.48412291827592701665d0+psp
$(676:720)*(-5.80947501931112419982d0)+psp(766:810)*0.9682458365518
$5403330d0+psp(901:945)*0.48412291827592701665d0
sp(316:360)=psp(91:135)*(-5.12347538297979987476d0)+psp(181:225)*2
$.56173769148989993738d0+psp(496:540)*5.12347538297979987476d0+psp(
$811:855)*(-2.56173769148989993738d0)
sp(361:405)=psp(361:405)*(-12.54990039801113255180d0)+psp(451:495)
$*1.56873754975139156898d0+psp(676:720)*4.18330013267037692515d0+ps
$p(766:810)*1.04582503316759423129d0+psp(901:945)*(-0.5229125165837
$9711564d0)
sp(406:450)=psp(181:225)*2.21852991866235615959d0+psp(586:630)*(-1
$3.31117951197413695752d0)+psp(811:855)*2.21852991866235615959d0
sp(451:495)=psp(451:495)*3.50780380010056935802d0+psp(766:810)*(-7
$.01560760020113871605d0)+psp(901:945)*0.70156076002011391601d0
return
end
subroutine hrrspher_hdh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1386),psp(1785)
real*8 hph(693),iph(924),xab,yab,zab
sp(1:85)=psp(426:510)*0.70156076002011391601d0+psp(1191:1275)*(-7.
$01560760020113871605d0)+psp(1616:1700)*3.50780380010056935802d0
sp(86:170)=psp(766:850)*(-8.87411967464942463835d0)+psp(1361:1445)
$*8.87411967464942463835d0
sp(171:255)=psp(256:340)*(-4.18330013267037692515d0)+psp(426:510)*
$0.52291251658379711564d0+psp(1021:1105)*12.54990039801113255180d0+
$psp(1191:1275)*(-1.04582503316759423129d0)+psp(1616:1700)*(-1.5687
$3754975139156898d0)
sp(256:340)=psp(596:680)*10.24695076595959974952d0+psp(766:850)*(-
$5.12347538297979987476d0)+psp(1361:1445)*(-5.12347538297979987476d
$0)
sp(341:425)=psp(86:170)*3.87298334620741613321d0+psp(256:340)*(-5.
$80947501931112419982d0)+psp(426:510)*0.48412291827592701665d0+psp(
$1021:1105)*(-5.80947501931112419982d0)+psp(1191:1275)*0.9682458365
$5185403330d0+psp(1616:1700)*0.48412291827592701665d0
sp(426:510)=psp(1:85)+psp(171:255)*(-5.00000000000000000000d0)+psp
$(341:425)*1.87500000000000000000d0+psp(936:1020)*(-5.0000000000000
$0000000d0)+psp(1106:1190)*3.75000000000000000000d0+psp(1531:1615)*
$1.87500000000000000000d0
sp(511:595)=psp(511:595)*3.87298334620741613321d0+psp(681:765)*(-5
$.80947501931112419982d0)+psp(851:935)*0.48412291827592701665d0+psp
$(1276:1360)*(-5.80947501931112419982d0)+psp(1446:1530)*0.968245836
$55185403330d0+psp(1701:1785)*0.48412291827592701665d0
sp(596:680)=psp(171:255)*(-5.12347538297979987476d0)+psp(341:425)*
$2.56173769148989993738d0+psp(936:1020)*5.12347538297979987476d0+ps
$p(1531:1615)*(-2.56173769148989993738d0)
sp(681:765)=psp(681:765)*(-12.54990039801113255180d0)+psp(851:935)
$*1.56873754975139156898d0+psp(1276:1360)*4.18330013267037692515d0+
$psp(1446:1530)*1.04582503316759423129d0+psp(1701:1785)*(-0.5229125
$1658379711564d0)
sp(766:850)=psp(341:425)*2.21852991866235615959d0+psp(1106:1190)*(
$-13.31117951197413695752d0)+psp(1531:1615)*2.21852991866235615959d
$0
sp(851:935)=psp(851:935)*3.50780380010056935802d0+psp(1446:1530)*(
$-7.01560760020113871605d0)+psp(1701:1785)*0.70156076002011391601d0
do ii=1,11
ji=(ii-1)*85
do ki=1,85
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
hph(1:66)=psp(232:297)+zab*psp(1:66)
hph(67:121)=psp(309:363)+zab*psp(67:121)
hph(122:165)=psp(375:418)+zab*psp(122:165)
hph(166:198)=psp(430:462)+zab*psp(166:198)
hph(199:220)=psp(474:495)+zab*psp(199:220)
hph(221:231)=psp(507:517)+zab*psp(221:231)
hph(232:297)=psp(243:308)+yab*psp(1:66)
hph(298:352)=psp(320:374)+yab*psp(67:121)
hph(353:396)=psp(386:429)+yab*psp(122:165)
hph(397:429)=psp(441:473)+yab*psp(166:198)
hph(430:451)=psp(485:506)+yab*psp(199:220)
hph(452:462)=psp(518:528)+yab*psp(221:231)
hph(463:693)=psp(309:539)+xab*psp(1:231)
iph(1:77)=psp(540:616)+zab*psp(232:308)
iph(78:143)=psp(628:693)+zab*psp(309:374)
iph(144:198)=psp(705:759)+zab*psp(375:429)
iph(199:242)=psp(771:814)+zab*psp(430:473)
iph(243:275)=psp(826:858)+zab*psp(474:506)
iph(276:297)=psp(870:891)+zab*psp(507:528)
iph(298:308)=psp(903:913)+zab*psp(529:539)
iph(309:385)=psp(551:627)+yab*psp(232:308)
iph(386:451)=psp(639:704)+yab*psp(309:374)
iph(452:506)=psp(716:770)+yab*psp(375:429)
iph(507:550)=psp(782:825)+yab*psp(430:473)
iph(551:583)=psp(837:869)+yab*psp(474:506)
iph(584:605)=psp(881:902)+yab*psp(507:528)
iph(606:616)=psp(914:924)+yab*psp(529:539)
iph(617:924)=psp(628:935)+xab*psp(232:539)
psp(1:66)=iph(1:66)+zab*hph(1:66)
psp(67:121)=iph(78:132)+zab*hph(67:121)
psp(122:165)=iph(144:187)+zab*hph(122:165)
psp(166:198)=iph(199:231)+zab*hph(166:198)
psp(199:220)=iph(243:264)+zab*hph(199:220)
psp(221:231)=iph(276:286)+zab*hph(221:231)
psp(232:297)=iph(309:374)+zab*hph(232:297)
psp(298:352)=iph(386:440)+zab*hph(298:352)
psp(353:396)=iph(452:495)+zab*hph(353:396)
psp(397:429)=iph(507:539)+zab*hph(397:429)
psp(430:451)=iph(551:572)+zab*hph(430:451)
psp(452:462)=iph(584:594)+zab*hph(452:462)
psp(463:528)=iph(320:385)+yab*hph(232:297)
psp(529:583)=iph(397:451)+yab*hph(298:352)
psp(584:627)=iph(463:506)+yab*hph(353:396)
psp(628:660)=iph(518:550)+yab*hph(397:429)
psp(661:682)=iph(562:583)+yab*hph(430:451)
psp(683:693)=iph(595:605)+yab*hph(452:462)
psp(694:759)=iph(617:682)+zab*hph(463:528)
psp(760:814)=iph(694:748)+zab*hph(529:583)
psp(815:858)=iph(760:803)+zab*hph(584:627)
psp(859:891)=iph(815:847)+zab*hph(628:660)
psp(892:913)=iph(859:880)+zab*hph(661:682)
psp(914:924)=iph(892:902)+zab*hph(683:693)
psp(925:990)=iph(628:693)+yab*hph(463:528)
psp(991:1045)=iph(705:759)+yab*hph(529:583)
psp(1046:1089)=iph(771:814)+yab*hph(584:627)
psp(1090:1122)=iph(826:858)+yab*hph(628:660)
psp(1123:1144)=iph(870:891)+yab*hph(661:682)
psp(1145:1155)=iph(903:913)+yab*hph(683:693)
psp(1156:1386)=iph(694:924)+xab*hph(463:693)
sp(1:231)=psp(925:1155)*1.73205080756887697113d0
sp(232:462)=psp(232:462)*1.73205080756887697113d0
sp(463:693)=psp(1:231)+psp(463:693)*(-0.50000000000000000000d0)+ps
$p(1156:1386)*(-0.50000000000000000000d0)
sp(694:924)=psp(694:924)*1.73205080756887697113d0
sp(925:1155)=psp(463:693)*(-0.86602540378443848557d0)+psp(1156:138
$6)*0.86602540378443848557d0
do ji=0,4
ki=ji*231
jk=ji*11
do ii=0,20
k=ii*11
il=ii*55
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:55)=psp(276:330)*0.70156076002011391601d0+psp(771:825)*(-7.01
$560760020113871605d0)+psp(1046:1100)*3.50780380010056935802d0
sp(56:110)=psp(496:550)*(-8.87411967464942463835d0)+psp(881:935)*8
$.87411967464942463835d0
sp(111:165)=psp(166:220)*(-4.18330013267037692515d0)+psp(276:330)*
$0.52291251658379711564d0+psp(661:715)*12.54990039801113255180d0+ps
$p(771:825)*(-1.04582503316759423129d0)+psp(1046:1100)*(-1.56873754
$975139156898d0)
sp(166:220)=psp(386:440)*10.24695076595959974952d0+psp(496:550)*(-
$5.12347538297979987476d0)+psp(881:935)*(-5.12347538297979987476d0)
sp(221:275)=psp(56:110)*3.87298334620741613321d0+psp(166:220)*(-5.
$80947501931112419982d0)+psp(276:330)*0.48412291827592701665d0+psp(
$661:715)*(-5.80947501931112419982d0)+psp(771:825)*0.96824583655185
$403330d0+psp(1046:1100)*0.48412291827592701665d0
sp(276:330)=psp(1:55)+psp(111:165)*(-5.00000000000000000000d0)+psp
$(221:275)*1.87500000000000000000d0+psp(606:660)*(-5.00000000000000
$000000d0)+psp(716:770)*3.75000000000000000000d0+psp(991:1045)*1.87
$500000000000000000d0
sp(331:385)=psp(331:385)*3.87298334620741613321d0+psp(441:495)*(-5
$.80947501931112419982d0)+psp(551:605)*0.48412291827592701665d0+psp
$(826:880)*(-5.80947501931112419982d0)+psp(936:990)*0.9682458365518
$5403330d0+psp(1101:1155)*0.48412291827592701665d0
sp(386:440)=psp(111:165)*(-5.12347538297979987476d0)+psp(221:275)*
$2.56173769148989993738d0+psp(606:660)*5.12347538297979987476d0+psp
$(991:1045)*(-2.56173769148989993738d0)
sp(441:495)=psp(441:495)*(-12.54990039801113255180d0)+psp(551:605)
$*1.56873754975139156898d0+psp(826:880)*4.18330013267037692515d0+ps
$p(936:990)*1.04582503316759423129d0+psp(1101:1155)*(-0.52291251658
$379711564d0)
sp(496:550)=psp(221:275)*2.21852991866235615959d0+psp(716:770)*(-1
$3.31117951197413695752d0)+psp(991:1045)*2.21852991866235615959d0
sp(551:605)=psp(551:605)*3.50780380010056935802d0+psp(936:990)*(-7
$.01560760020113871605d0)+psp(1101:1155)*0.70156076002011391601d0
return
end
subroutine hrrspher_hdi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1638),psp(2380)
real*8 hpi(819),ipi(1092),xab,yab,zab
sp(1:85)=psp(1021:1105)*4.03015973628837986809d0+psp(1786:1870)*(-
$13.43386578762789973496d0)+psp(2211:2295)*4.03015973628837986809d0
sp(86:170)=psp(426:510)*2.32681380862329012515d0+psp(1361:1445)*(-
$23.26813808623289858701d0)+psp(1956:2040)*11.63406904311639955552d
$0
sp(171:255)=psp(851:935)*(-19.84313483298440061731d0)+psp(1021:110
$5)*1.98431348329843992850d0+psp(1616:1700)*19.84313483298440061731
$d0+psp(2211:2295)*(-1.98431348329843992850d0)
sp(256:340)=psp(256:340)*(-7.24568837309471991404d0)+psp(426:510)*
$2.71713313991052007879d0+psp(1191:1275)*21.73706511928419971014d0+
$psp(1361:1445)*(-5.43426627982104015757d0)+psp(1956:2040)*(-8.1513
$9941973155934818d0)
sp(341:425)=psp(681:765)*14.49137674618940074822d0+psp(851:935)*(-
$14.49137674618940074822d0)+psp(1021:1105)*0.90571104663683998925d0
$+psp(1616:1700)*(-14.49137674618940074822d0)+psp(1786:1870)*1.8114
$2209327367997851d0+psp(2211:2295)*0.90571104663683998925d0
sp(426:510)=psp(86:170)*4.58257569495583982899d0+psp(256:340)*(-11
$.45643923738959912839d0)+psp(426:510)*2.86410980934739978210d0+psp
$(1191:1275)*(-11.45643923738959912839d0)+psp(1361:1445)*5.72821961
$869479956420d0+psp(1956:2040)*2.86410980934739978210d0
sp(511:595)=psp(1:85)+psp(171:255)*(-7.50000000000000000000d0)+psp
$(341:425)*5.62500000000000000000d0+psp(511:595)*(-0.31250000000000
$000000d0)+psp(1106:1190)*(-7.50000000000000000000d0)+psp(1276:1360
$)*11.25000000000000000000d0+psp(1446:1530)*(-0.9375000000000000000
$0d0)+psp(1871:1955)*5.62500000000000000000d0+psp(2041:2125)*(-0.93
$750000000000000000d0)+psp(2296:2380)*(-0.31250000000000000000d0)
sp(596:680)=psp(596:680)*4.58257569495583982899d0+psp(766:850)*(-1
$1.45643923738959912839d0)+psp(936:1020)*2.86410980934739978210d0+p
$sp(1531:1615)*(-11.45643923738959912839d0)+psp(1701:1785)*5.728219
$61869479956420d0+psp(2126:2210)*2.86410980934739978210d0
sp(681:765)=psp(171:255)*(-7.24568837309471991404d0)+psp(341:425)*
$7.24568837309471991404d0+psp(511:595)*(-0.45285552331841999463d0)+
$psp(1106:1190)*7.24568837309471991404d0+psp(1446:1530)*(-0.4528555
$2331841999463d0)+psp(1871:1955)*(-7.24568837309471991404d0)+psp(20
$41:2125)*0.45285552331841999463d0+psp(2296:2380)*0.452855523318419
$99463d0
sp(766:850)=psp(766:850)*(-21.73706511928419971014d0)+psp(936:1020
$)*8.15139941973155934818d0+psp(1531:1615)*7.24568837309471991404d0
$+psp(1701:1785)*5.43426627982104015757d0+psp(2126:2210)*(-2.717133
$13991052007879d0)
sp(851:935)=psp(341:425)*4.96078370824610992429d0+psp(511:595)*(-0
$.49607837082461098133d0)+psp(1276:1360)*(-29.76470224947659914960d
$0)+psp(1446:1530)*2.48039185412305007716d0+psp(1871:1955)*4.960783
$70824610992429d0+psp(2041:2125)*2.48039185412305007716d0+psp(2296:
$2380)*(-0.49607837082461098133d0)
sp(936:1020)=psp(936:1020)*11.63406904311639955552d0+psp(1701:1785
$)*(-23.26813808623289858701d0)+psp(2126:2210)*2.326813808623290125
$15d0
sp(1021:1105)=psp(511:595)*(-0.67169328938139605256d0)+psp(1446:15
$30)*10.07539934072089948813d0+psp(2041:2125)*(-10.0753993407208994
$8813d0)+psp(2296:2380)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*85
do ki=1,85
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
hpi(1:78)=psp(274:351)+zab*psp(1:78)
hpi(79:143)=psp(365:429)+zab*psp(79:143)
hpi(144:195)=psp(443:494)+zab*psp(144:195)
hpi(196:234)=psp(508:546)+zab*psp(196:234)
hpi(235:260)=psp(560:585)+zab*psp(235:260)
hpi(261:273)=psp(599:611)+zab*psp(261:273)
hpi(274:351)=psp(287:364)+yab*psp(1:78)
hpi(352:416)=psp(378:442)+yab*psp(79:143)
hpi(417:468)=psp(456:507)+yab*psp(144:195)
hpi(469:507)=psp(521:559)+yab*psp(196:234)
hpi(508:533)=psp(573:598)+yab*psp(235:260)
hpi(534:546)=psp(612:624)+yab*psp(261:273)
hpi(547:819)=psp(365:637)+xab*psp(1:273)
ipi(1:91)=psp(638:728)+zab*psp(274:364)
ipi(92:169)=psp(742:819)+zab*psp(365:442)
ipi(170:234)=psp(833:897)+zab*psp(443:507)
ipi(235:286)=psp(911:962)+zab*psp(508:559)
ipi(287:325)=psp(976:1014)+zab*psp(560:598)
ipi(326:351)=psp(1028:1053)+zab*psp(599:624)
ipi(352:364)=psp(1067:1079)+zab*psp(625:637)
ipi(365:455)=psp(651:741)+yab*psp(274:364)
ipi(456:533)=psp(755:832)+yab*psp(365:442)
ipi(534:598)=psp(846:910)+yab*psp(443:507)
ipi(599:650)=psp(924:975)+yab*psp(508:559)
ipi(651:689)=psp(989:1027)+yab*psp(560:598)
ipi(690:715)=psp(1041:1066)+yab*psp(599:624)
ipi(716:728)=psp(1080:1092)+yab*psp(625:637)
ipi(729:1092)=psp(742:1105)+xab*psp(274:637)
psp(1:78)=ipi(1:78)+zab*hpi(1:78)
psp(79:143)=ipi(92:156)+zab*hpi(79:143)
psp(144:195)=ipi(170:221)+zab*hpi(144:195)
psp(196:234)=ipi(235:273)+zab*hpi(196:234)
psp(235:260)=ipi(287:312)+zab*hpi(235:260)
psp(261:273)=ipi(326:338)+zab*hpi(261:273)
psp(274:351)=ipi(365:442)+zab*hpi(274:351)
psp(352:416)=ipi(456:520)+zab*hpi(352:416)
psp(417:468)=ipi(534:585)+zab*hpi(417:468)
psp(469:507)=ipi(599:637)+zab*hpi(469:507)
psp(508:533)=ipi(651:676)+zab*hpi(508:533)
psp(534:546)=ipi(690:702)+zab*hpi(534:546)
psp(547:624)=ipi(378:455)+yab*hpi(274:351)
psp(625:689)=ipi(469:533)+yab*hpi(352:416)
psp(690:741)=ipi(547:598)+yab*hpi(417:468)
psp(742:780)=ipi(612:650)+yab*hpi(469:507)
psp(781:806)=ipi(664:689)+yab*hpi(508:533)
psp(807:819)=ipi(703:715)+yab*hpi(534:546)
psp(820:897)=ipi(729:806)+zab*hpi(547:624)
psp(898:962)=ipi(820:884)+zab*hpi(625:689)
psp(963:1014)=ipi(898:949)+zab*hpi(690:741)
psp(1015:1053)=ipi(963:1001)+zab*hpi(742:780)
psp(1054:1079)=ipi(1015:1040)+zab*hpi(781:806)
psp(1080:1092)=ipi(1054:1066)+zab*hpi(807:819)
psp(1093:1170)=ipi(742:819)+yab*hpi(547:624)
psp(1171:1235)=ipi(833:897)+yab*hpi(625:689)
psp(1236:1287)=ipi(911:962)+yab*hpi(690:741)
psp(1288:1326)=ipi(976:1014)+yab*hpi(742:780)
psp(1327:1352)=ipi(1028:1053)+yab*hpi(781:806)
psp(1353:1365)=ipi(1067:1079)+yab*hpi(807:819)
psp(1366:1638)=ipi(820:1092)+xab*hpi(547:819)
sp(1:273)=psp(1093:1365)*1.73205080756887697113d0
sp(274:546)=psp(274:546)*1.73205080756887697113d0
sp(547:819)=psp(1:273)+psp(547:819)*(-0.50000000000000000000d0)+ps
$p(1366:1638)*(-0.50000000000000000000d0)
sp(820:1092)=psp(820:1092)*1.73205080756887697113d0
sp(1093:1365)=psp(547:819)*(-0.86602540378443848557d0)+psp(1366:16
$38)*0.86602540378443848557d0
do ji=0,4
ki=ji*273
jk=ji*13
do ii=0,20
k=ii*13
il=ii*65
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:65)=psp(326:390)*0.70156076002011391601d0+psp(911:975)*(-7.01
$560760020113871605d0)+psp(1236:1300)*3.50780380010056935802d0
sp(66:130)=psp(586:650)*(-8.87411967464942463835d0)+psp(1041:1105)
$*8.87411967464942463835d0
sp(131:195)=psp(196:260)*(-4.18330013267037692515d0)+psp(326:390)*
$0.52291251658379711564d0+psp(781:845)*12.54990039801113255180d0+ps
$p(911:975)*(-1.04582503316759423129d0)+psp(1236:1300)*(-1.56873754
$975139156898d0)
sp(196:260)=psp(456:520)*10.24695076595959974952d0+psp(586:650)*(-
$5.12347538297979987476d0)+psp(1041:1105)*(-5.12347538297979987476d
$0)
sp(261:325)=psp(66:130)*3.87298334620741613321d0+psp(196:260)*(-5.
$80947501931112419982d0)+psp(326:390)*0.48412291827592701665d0+psp(
$781:845)*(-5.80947501931112419982d0)+psp(911:975)*0.96824583655185
$403330d0+psp(1236:1300)*0.48412291827592701665d0
sp(326:390)=psp(1:65)+psp(131:195)*(-5.00000000000000000000d0)+psp
$(261:325)*1.87500000000000000000d0+psp(716:780)*(-5.00000000000000
$000000d0)+psp(846:910)*3.75000000000000000000d0+psp(1171:1235)*1.8
$7500000000000000000d0
sp(391:455)=psp(391:455)*3.87298334620741613321d0+psp(521:585)*(-5
$.80947501931112419982d0)+psp(651:715)*0.48412291827592701665d0+psp
$(976:1040)*(-5.80947501931112419982d0)+psp(1106:1170)*0.9682458365
$5185403330d0+psp(1301:1365)*0.48412291827592701665d0
sp(456:520)=psp(131:195)*(-5.12347538297979987476d0)+psp(261:325)*
$2.56173769148989993738d0+psp(716:780)*5.12347538297979987476d0+psp
$(1171:1235)*(-2.56173769148989993738d0)
sp(521:585)=psp(521:585)*(-12.54990039801113255180d0)+psp(651:715)
$*1.56873754975139156898d0+psp(976:1040)*4.18330013267037692515d0+p
$sp(1106:1170)*1.04582503316759423129d0+psp(1301:1365)*(-0.52291251
$658379711564d0)
sp(586:650)=psp(261:325)*2.21852991866235615959d0+psp(846:910)*(-1
$3.31117951197413695752d0)+psp(1171:1235)*2.21852991866235615959d0
sp(651:715)=psp(651:715)*3.50780380010056935802d0+psp(1106:1170)*(
$-7.01560760020113871605d0)+psp(1301:1365)*0.70156076002011391601d0
return
end
subroutine hrrspher_hfs_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(210),psp(130)
real*8 psp2(210)
real*8 hps(63),ips(84),kps(108),hds(126),ids(168),xab,yab,zab
hps(1:6)=psp(22:27)+zab*psp(1:6)
hps(7:11)=psp(29:33)+zab*psp(7:11)
hps(12:15)=psp(35:38)+zab*psp(12:15)
hps(16:18)=psp(40:42)+zab*psp(16:18)
hps(19:20)=psp(44:45)+zab*psp(19:20)
hps(21)=psp(47)+zab*psp(21)
hps(22:27)=psp(23:28)+yab*psp(1:6)
hps(28:32)=psp(30:34)+yab*psp(7:11)
hps(33:36)=psp(36:39)+yab*psp(12:15)
hps(37:39)=psp(41:43)+yab*psp(16:18)
hps(40:41)=psp(45:46)+yab*psp(19:20)
hps(42)=psp(48)+yab*psp(21)
hps(43:63)=psp(29:49)+xab*psp(1:21)
ips(1:7)=psp(50:56)+zab*psp(22:28)
ips(8:13)=psp(58:63)+zab*psp(29:34)
ips(14:18)=psp(65:69)+zab*psp(35:39)
ips(19:22)=psp(71:74)+zab*psp(40:43)
ips(23:25)=psp(76:78)+zab*psp(44:46)
ips(26:27)=psp(80:81)+zab*psp(47:48)
ips(28)=psp(83)+zab*psp(49)
ips(29:35)=psp(51:57)+yab*psp(22:28)
ips(36:41)=psp(59:64)+yab*psp(29:34)
ips(42:46)=psp(66:70)+yab*psp(35:39)
ips(47:50)=psp(72:75)+yab*psp(40:43)
ips(51:53)=psp(77:79)+yab*psp(44:46)
ips(54:55)=psp(81:82)+yab*psp(47:48)
ips(56)=psp(84)+yab*psp(49)
ips(57:84)=psp(58:85)+xab*psp(22:49)
kps(1:8)=psp(86:93)+zab*psp(50:57)
kps(9:15)=psp(95:101)+zab*psp(58:64)
kps(16:21)=psp(103:108)+zab*psp(65:70)
kps(22:26)=psp(110:114)+zab*psp(71:75)
kps(27:30)=psp(116:119)+zab*psp(76:79)
kps(31:33)=psp(121:123)+zab*psp(80:82)
kps(34:35)=psp(125:126)+zab*psp(83:84)
kps(36)=psp(128)+zab*psp(85)
kps(37:44)=psp(87:94)+yab*psp(50:57)
kps(45:51)=psp(96:102)+yab*psp(58:64)
kps(52:57)=psp(104:109)+yab*psp(65:70)
kps(58:62)=psp(111:115)+yab*psp(71:75)
kps(63:66)=psp(117:120)+yab*psp(76:79)
kps(67:69)=psp(122:124)+yab*psp(80:82)
kps(70:71)=psp(126:127)+yab*psp(83:84)
kps(72)=psp(129)+yab*psp(85)
kps(73:108)=psp(95:130)+xab*psp(50:85)
hds(1:6)=ips(1:6)+zab*hps(1:6)
hds(7:11)=ips(8:12)+zab*hps(7:11)
hds(12:15)=ips(14:17)+zab*hps(12:15)
hds(16:18)=ips(19:21)+zab*hps(16:18)
hds(19:20)=ips(23:24)+zab*hps(19:20)
hds(21)=ips(26)+zab*hps(21)
hds(43:48)=ips(30:35)+yab*hps(22:27)
hds(49:53)=ips(37:41)+yab*hps(28:32)
hds(54:57)=ips(43:46)+yab*hps(33:36)
hds(58:60)=ips(48:50)+yab*hps(37:39)
hds(61:62)=ips(52:53)+yab*hps(40:41)
hds(63)=ips(55)+yab*hps(42)
hds(85:90)=ips(58:63)+yab*hps(43:48)
hds(91:95)=ips(65:69)+yab*hps(49:53)
hds(96:99)=ips(71:74)+yab*hps(54:57)
hds(100:102)=ips(76:78)+yab*hps(58:60)
hds(103:104)=ips(80:81)+yab*hps(61:62)
hds(105)=ips(83)+yab*hps(63)
hds(106:126)=ips(64:84)+xab*hps(43:63)
ids(1:7)=kps(1:7)+zab*ips(1:7)
ids(8:13)=kps(9:14)+zab*ips(8:13)
ids(14:18)=kps(16:20)+zab*ips(14:18)
ids(19:22)=kps(22:25)+zab*ips(19:22)
ids(23:25)=kps(27:29)+zab*ips(23:25)
ids(26:27)=kps(31:32)+zab*ips(26:27)
ids(28)=kps(34)+zab*ips(28)
ids(57:63)=kps(38:44)+yab*ips(29:35)
ids(64:69)=kps(46:51)+yab*ips(36:41)
ids(70:74)=kps(53:57)+yab*ips(42:46)
ids(75:78)=kps(59:62)+yab*ips(47:50)
ids(79:81)=kps(64:66)+yab*ips(51:53)
ids(82:83)=kps(68:69)+yab*ips(54:55)
ids(84)=kps(71)+yab*ips(56)
ids(113:119)=kps(74:80)+yab*ips(57:63)
ids(120:125)=kps(82:87)+yab*ips(64:69)
ids(126:130)=kps(89:93)+yab*ips(70:74)
ids(131:134)=kps(95:98)+yab*ips(75:78)
ids(135:137)=kps(100:102)+yab*ips(79:81)
ids(138:139)=kps(104:105)+yab*ips(82:83)
ids(140)=kps(107)+yab*ips(84)
ids(141:168)=kps(81:108)+xab*ips(57:84)
psp2(1:6)=ids(1:6)+zab*hds(1:6)
psp2(7:11)=ids(8:12)+zab*hds(7:11)
psp2(12:15)=ids(14:17)+zab*hds(12:15)
psp2(16:18)=ids(19:21)+zab*hds(16:18)
psp2(19:20)=ids(23:24)+zab*hds(19:20)
psp2(21)=ids(26)+zab*hds(21)
psp2(22:27)=ids(2:7)+yab*hds(1:6)
psp2(28:32)=ids(9:13)+yab*hds(7:11)
psp2(33:36)=ids(15:18)+yab*hds(12:15)
psp2(37:39)=ids(20:22)+yab*hds(16:18)
psp2(40:41)=ids(24:25)+yab*hds(19:20)
psp2(42)=ids(27)+yab*hds(21)
psp2(43:48)=ids(57:62)+zab*hds(43:48)
psp2(49:53)=ids(64:68)+zab*hds(49:53)
psp2(54:57)=ids(70:73)+zab*hds(54:57)
psp2(58:60)=ids(75:77)+zab*hds(58:60)
psp2(61:62)=ids(79:80)+zab*hds(61:62)
psp2(63)=ids(82)+zab*hds(63)
psp2(64:69)=ids(58:63)+yab*hds(43:48)
psp2(70:74)=ids(65:69)+yab*hds(49:53)
psp2(75:78)=ids(71:74)+yab*hds(54:57)
psp2(79:81)=ids(76:78)+yab*hds(58:60)
psp2(82:83)=ids(80:81)+yab*hds(61:62)
psp2(84)=ids(83)+yab*hds(63)
psp2(85:105)=ids(8:28)+xab*hds(1:21)
psp2(106:111)=ids(113:118)+zab*hds(85:90)
psp2(112:116)=ids(120:124)+zab*hds(91:95)
psp2(117:120)=ids(126:129)+zab*hds(96:99)
psp2(121:123)=ids(131:133)+zab*hds(100:102)
psp2(124:125)=ids(135:136)+zab*hds(103:104)
psp2(126)=ids(138)+zab*hds(105)
psp2(127:147)=ids(64:84)+xab*hds(43:63)
psp2(148:153)=ids(141:146)+zab*hds(106:111)
psp2(154:158)=ids(148:152)+zab*hds(112:116)
psp2(159:162)=ids(154:157)+zab*hds(117:120)
psp2(163:165)=ids(159:161)+zab*hds(121:123)
psp2(166:167)=ids(163:164)+zab*hds(124:125)
psp2(168)=ids(166)+zab*hds(126)
psp2(169:174)=ids(142:147)+yab*hds(106:111)
psp2(175:179)=ids(149:153)+yab*hds(112:116)
psp2(180:183)=ids(155:158)+yab*hds(117:120)
psp2(184:186)=ids(160:162)+yab*hds(121:123)
psp2(187:188)=ids(164:165)+yab*hds(124:125)
psp2(189)=ids(167)+yab*hds(126)
psp2(190:210)=ids(148:168)+xab*hds(106:126)
sp(1:21)=psp2(64:84)*(-0.79056941504209476967d0)+psp2(169:189)*2.3
$7170824512628453107d0
sp(22:42)=psp2(106:126)*3.87298334620741657730d0
sp(43:63)=psp2(22:42)*2.44948974278317788134d0+psp2(64:84)*(-0.612
$37243569579447033d0)+psp2(169:189)*(-0.61237243569579447033d0)
sp(64:84)=psp2(1:21)+psp2(43:63)*(-1.50000000000000000000d0)+psp2(
$148:168)*(-1.50000000000000000000d0)
sp(85:105)=psp2(85:105)*2.44948974278317788134d0+psp2(127:147)*(-0
$.61237243569579447033d0)+psp2(190:210)*(-0.61237243569579447033d0)
sp(106:126)=psp2(43:63)*(-1.93649167310370828865d0)+psp2(148:168)*
$1.93649167310370828865d0
sp(127:147)=psp2(127:147)*(-2.37170824512628453107d0)+psp2(190:210
$)*0.79056941504209476967d0
do ji=1,21
ii=(ji-1)*7
do ki=1,7
psp2(ii+ki)=sp((ki-1)*21+ji)
enddo
enddo
sp(1:7)=psp2(36:42)*0.70156076002011391601d0+psp2(99:105)*(-7.0156
$0760020113871605d0)+psp2(134:140)*3.50780380010056935802d0
sp(8:14)=psp2(64:70)*(-8.87411967464942463835d0)+psp2(113:119)*8.8
$7411967464942463835d0
sp(15:21)=psp2(22:28)*(-4.18330013267037692515d0)+psp2(36:42)*0.52
$291251658379711564d0+psp2(85:91)*12.54990039801113255180d0+psp2(99
$:105)*(-1.04582503316759423129d0)+psp2(134:140)*(-1.56873754975139
$156898d0)
sp(22:28)=psp2(50:56)*10.24695076595959974952d0+psp2(64:70)*(-5.12
$347538297979987476d0)+psp2(113:119)*(-5.12347538297979987476d0)
sp(29:35)=psp2(8:14)*3.87298334620741613321d0+psp2(22:28)*(-5.8094
$7501931112419982d0)+psp2(36:42)*0.48412291827592701665d0+psp2(85:9
$1)*(-5.80947501931112419982d0)+psp2(99:105)*0.96824583655185403330
$d0+psp2(134:140)*0.48412291827592701665d0
sp(36:42)=psp2(1:7)+psp2(15:21)*(-5.00000000000000000000d0)+psp2(2
$9:35)*1.87500000000000000000d0+psp2(78:84)*(-5.0000000000000000000
$0d0)+psp2(92:98)*3.75000000000000000000d0+psp2(127:133)*1.87500000
$000000000000d0
sp(43:49)=psp2(43:49)*3.87298334620741613321d0+psp2(57:63)*(-5.809
$47501931112419982d0)+psp2(71:77)*0.48412291827592701665d0+psp2(106
$:112)*(-5.80947501931112419982d0)+psp2(120:126)*0.9682458365518540
$3330d0+psp2(141:147)*0.48412291827592701665d0
sp(50:56)=psp2(15:21)*(-5.12347538297979987476d0)+psp2(29:35)*2.56
$173769148989993738d0+psp2(78:84)*5.12347538297979987476d0+psp2(127
$:133)*(-2.56173769148989993738d0)
sp(57:63)=psp2(57:63)*(-12.54990039801113255180d0)+psp2(71:77)*1.5
$6873754975139156898d0+psp2(106:112)*4.18330013267037692515d0+psp2(
$120:126)*1.04582503316759423129d0+psp2(141:147)*(-0.52291251658379
$711564d0)
sp(64:70)=psp2(29:35)*2.21852991866235615959d0+psp2(92:98)*(-13.31
$117951197413695752d0)+psp2(127:133)*2.21852991866235615959d0
sp(71:77)=psp2(71:77)*3.50780380010056935802d0+psp2(120:126)*(-7.0
$1560760020113871605d0)+psp2(141:147)*0.70156076002011391601d0
return
end
subroutine hrrspher_hfp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(630),psp(390)
real*8 psp2(630)
real*8 hpp(189),ipp(252),kpp(324),hdp(378),idp(504),xab,yab,zab
hpp(1:18)=psp(64:81)+zab*psp(1:18)
hpp(19:33)=psp(85:99)+zab*psp(19:33)
hpp(34:45)=psp(103:114)+zab*psp(34:45)
hpp(46:54)=psp(118:126)+zab*psp(46:54)
hpp(55:60)=psp(130:135)+zab*psp(55:60)
hpp(61:63)=psp(139:141)+zab*psp(61:63)
hpp(64:81)=psp(67:84)+yab*psp(1:18)
hpp(82:96)=psp(88:102)+yab*psp(19:33)
hpp(97:108)=psp(106:117)+yab*psp(34:45)
hpp(109:117)=psp(121:129)+yab*psp(46:54)
hpp(118:123)=psp(133:138)+yab*psp(55:60)
hpp(124:126)=psp(142:144)+yab*psp(61:63)
hpp(127:189)=psp(85:147)+xab*psp(1:63)
ipp(1:21)=psp(148:168)+zab*psp(64:84)
ipp(22:39)=psp(172:189)+zab*psp(85:102)
ipp(40:54)=psp(193:207)+zab*psp(103:117)
ipp(55:66)=psp(211:222)+zab*psp(118:129)
ipp(67:75)=psp(226:234)+zab*psp(130:138)
ipp(76:81)=psp(238:243)+zab*psp(139:144)
ipp(82:84)=psp(247:249)+zab*psp(145:147)
ipp(85:105)=psp(151:171)+yab*psp(64:84)
ipp(106:123)=psp(175:192)+yab*psp(85:102)
ipp(124:138)=psp(196:210)+yab*psp(103:117)
ipp(139:150)=psp(214:225)+yab*psp(118:129)
ipp(151:159)=psp(229:237)+yab*psp(130:138)
ipp(160:165)=psp(241:246)+yab*psp(139:144)
ipp(166:168)=psp(250:252)+yab*psp(145:147)
ipp(169:252)=psp(172:255)+xab*psp(64:147)
kpp(1:24)=psp(256:279)+zab*psp(148:171)
kpp(25:45)=psp(283:303)+zab*psp(172:192)
kpp(46:63)=psp(307:324)+zab*psp(193:210)
kpp(64:78)=psp(328:342)+zab*psp(211:225)
kpp(79:90)=psp(346:357)+zab*psp(226:237)
kpp(91:99)=psp(361:369)+zab*psp(238:246)
kpp(100:105)=psp(373:378)+zab*psp(247:252)
kpp(106:108)=psp(382:384)+zab*psp(253:255)
kpp(109:132)=psp(259:282)+yab*psp(148:171)
kpp(133:153)=psp(286:306)+yab*psp(172:192)
kpp(154:171)=psp(310:327)+yab*psp(193:210)
kpp(172:186)=psp(331:345)+yab*psp(211:225)
kpp(187:198)=psp(349:360)+yab*psp(226:237)
kpp(199:207)=psp(364:372)+yab*psp(238:246)
kpp(208:213)=psp(376:381)+yab*psp(247:252)
kpp(214:216)=psp(385:387)+yab*psp(253:255)
kpp(217:324)=psp(283:390)+xab*psp(148:255)
hdp(1:18)=ipp(1:18)+zab*hpp(1:18)
hdp(19:33)=ipp(22:36)+zab*hpp(19:33)
hdp(34:45)=ipp(40:51)+zab*hpp(34:45)
hdp(46:54)=ipp(55:63)+zab*hpp(46:54)
hdp(55:60)=ipp(67:72)+zab*hpp(55:60)
hdp(61:63)=ipp(76:78)+zab*hpp(61:63)
hdp(127:144)=ipp(88:105)+yab*hpp(64:81)
hdp(145:159)=ipp(109:123)+yab*hpp(82:96)
hdp(160:171)=ipp(127:138)+yab*hpp(97:108)
hdp(172:180)=ipp(142:150)+yab*hpp(109:117)
hdp(181:186)=ipp(154:159)+yab*hpp(118:123)
hdp(187:189)=ipp(163:165)+yab*hpp(124:126)
hdp(253:270)=ipp(172:189)+yab*hpp(127:144)
hdp(271:285)=ipp(193:207)+yab*hpp(145:159)
hdp(286:297)=ipp(211:222)+yab*hpp(160:171)
hdp(298:306)=ipp(226:234)+yab*hpp(172:180)
hdp(307:312)=ipp(238:243)+yab*hpp(181:186)
hdp(313:315)=ipp(247:249)+yab*hpp(187:189)
hdp(316:378)=ipp(190:252)+xab*hpp(127:189)
idp(1:21)=kpp(1:21)+zab*ipp(1:21)
idp(22:39)=kpp(25:42)+zab*ipp(22:39)
idp(40:54)=kpp(46:60)+zab*ipp(40:54)
idp(55:66)=kpp(64:75)+zab*ipp(55:66)
idp(67:75)=kpp(79:87)+zab*ipp(67:75)
idp(76:81)=kpp(91:96)+zab*ipp(76:81)
idp(82:84)=kpp(100:102)+zab*ipp(82:84)
idp(169:189)=kpp(112:132)+yab*ipp(85:105)
idp(190:207)=kpp(136:153)+yab*ipp(106:123)
idp(208:222)=kpp(157:171)+yab*ipp(124:138)
idp(223:234)=kpp(175:186)+yab*ipp(139:150)
idp(235:243)=kpp(190:198)+yab*ipp(151:159)
idp(244:249)=kpp(202:207)+yab*ipp(160:165)
idp(250:252)=kpp(211:213)+yab*ipp(166:168)
idp(337:357)=kpp(220:240)+yab*ipp(169:189)
idp(358:375)=kpp(244:261)+yab*ipp(190:207)
idp(376:390)=kpp(265:279)+yab*ipp(208:222)
idp(391:402)=kpp(283:294)+yab*ipp(223:234)
idp(403:411)=kpp(298:306)+yab*ipp(235:243)
idp(412:417)=kpp(310:315)+yab*ipp(244:249)
idp(418:420)=kpp(319:321)+yab*ipp(250:252)
idp(421:504)=kpp(241:324)+xab*ipp(169:252)
psp2(1:18)=idp(1:18)+zab*hdp(1:18)
psp2(19:33)=idp(22:36)+zab*hdp(19:33)
psp2(34:45)=idp(40:51)+zab*hdp(34:45)
psp2(46:54)=idp(55:63)+zab*hdp(46:54)
psp2(55:60)=idp(67:72)+zab*hdp(55:60)
psp2(61:63)=idp(76:78)+zab*hdp(61:63)
psp2(64:81)=idp(4:21)+yab*hdp(1:18)
psp2(82:96)=idp(25:39)+yab*hdp(19:33)
psp2(97:108)=idp(43:54)+yab*hdp(34:45)
psp2(109:117)=idp(58:66)+yab*hdp(46:54)
psp2(118:123)=idp(70:75)+yab*hdp(55:60)
psp2(124:126)=idp(79:81)+yab*hdp(61:63)
psp2(127:144)=idp(169:186)+zab*hdp(127:144)
psp2(145:159)=idp(190:204)+zab*hdp(145:159)
psp2(160:171)=idp(208:219)+zab*hdp(160:171)
psp2(172:180)=idp(223:231)+zab*hdp(172:180)
psp2(181:186)=idp(235:240)+zab*hdp(181:186)
psp2(187:189)=idp(244:246)+zab*hdp(187:189)
psp2(190:207)=idp(172:189)+yab*hdp(127:144)
psp2(208:222)=idp(193:207)+yab*hdp(145:159)
psp2(223:234)=idp(211:222)+yab*hdp(160:171)
psp2(235:243)=idp(226:234)+yab*hdp(172:180)
psp2(244:249)=idp(238:243)+yab*hdp(181:186)
psp2(250:252)=idp(247:249)+yab*hdp(187:189)
psp2(253:315)=idp(22:84)+xab*hdp(1:63)
psp2(316:333)=idp(337:354)+zab*hdp(253:270)
psp2(334:348)=idp(358:372)+zab*hdp(271:285)
psp2(349:360)=idp(376:387)+zab*hdp(286:297)
psp2(361:369)=idp(391:399)+zab*hdp(298:306)
psp2(370:375)=idp(403:408)+zab*hdp(307:312)
psp2(376:378)=idp(412:414)+zab*hdp(313:315)
psp2(379:441)=idp(190:252)+xab*hdp(127:189)
psp2(442:459)=idp(421:438)+zab*hdp(316:333)
psp2(460:474)=idp(442:456)+zab*hdp(334:348)
psp2(475:486)=idp(460:471)+zab*hdp(349:360)
psp2(487:495)=idp(475:483)+zab*hdp(361:369)
psp2(496:501)=idp(487:492)+zab*hdp(370:375)
psp2(502:504)=idp(496:498)+zab*hdp(376:378)
psp2(505:522)=idp(424:441)+yab*hdp(316:333)
psp2(523:537)=idp(445:459)+yab*hdp(334:348)
psp2(538:549)=idp(463:474)+yab*hdp(349:360)
psp2(550:558)=idp(478:486)+yab*hdp(361:369)
psp2(559:564)=idp(490:495)+yab*hdp(370:375)
psp2(565:567)=idp(499:501)+yab*hdp(376:378)
psp2(568:630)=idp(442:504)+xab*hdp(316:378)
sp(1:63)=psp2(190:252)*(-0.79056941504209476967d0)+psp2(505:567)*2
$.37170824512628453107d0
sp(64:126)=psp2(316:378)*3.87298334620741657730d0
sp(127:189)=psp2(64:126)*2.44948974278317788134d0+psp2(190:252)*(-
$0.61237243569579447033d0)+psp2(505:567)*(-0.61237243569579447033d0
$)
sp(190:252)=psp2(1:63)+psp2(127:189)*(-1.50000000000000000000d0)+p
$sp2(442:504)*(-1.50000000000000000000d0)
sp(253:315)=psp2(253:315)*2.44948974278317788134d0+psp2(379:441)*(
$-0.61237243569579447033d0)+psp2(568:630)*(-0.61237243569579447033d
$0)
sp(316:378)=psp2(127:189)*(-1.93649167310370828865d0)+psp2(442:504
$)*1.93649167310370828865d0
sp(379:441)=psp2(379:441)*(-2.37170824512628453107d0)+psp2(568:630
$)*0.79056941504209476967d0
do ji=0,6
ki=ji*63
jk=ji*3
do ii=0,20
k=ii*3
il=ii*21
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:21)=psp2(106:126)*0.70156076002011391601d0+psp2(295:315)*(-7.
$01560760020113871605d0)+psp2(400:420)*3.50780380010056935802d0
sp(22:42)=psp2(190:210)*(-8.87411967464942463835d0)+psp2(337:357)*
$8.87411967464942463835d0
sp(43:63)=psp2(64:84)*(-4.18330013267037692515d0)+psp2(106:126)*0.
$52291251658379711564d0+psp2(253:273)*12.54990039801113255180d0+psp
$2(295:315)*(-1.04582503316759423129d0)+psp2(400:420)*(-1.568737549
$75139156898d0)
sp(64:84)=psp2(148:168)*10.24695076595959974952d0+psp2(190:210)*(-
$5.12347538297979987476d0)+psp2(337:357)*(-5.12347538297979987476d0
$)
sp(85:105)=psp2(22:42)*3.87298334620741613321d0+psp2(64:84)*(-5.80
$947501931112419982d0)+psp2(106:126)*0.48412291827592701665d0+psp2(
$253:273)*(-5.80947501931112419982d0)+psp2(295:315)*0.9682458365518
$5403330d0+psp2(400:420)*0.48412291827592701665d0
sp(106:126)=psp2(1:21)+psp2(43:63)*(-5.00000000000000000000d0)+psp
$2(85:105)*1.87500000000000000000d0+psp2(232:252)*(-5.0000000000000
$0000000d0)+psp2(274:294)*3.75000000000000000000d0+psp2(379:399)*1.
$87500000000000000000d0
sp(127:147)=psp2(127:147)*3.87298334620741613321d0+psp2(169:189)*(
$-5.80947501931112419982d0)+psp2(211:231)*0.48412291827592701665d0+
$psp2(316:336)*(-5.80947501931112419982d0)+psp2(358:378)*0.96824583
$655185403330d0+psp2(421:441)*0.48412291827592701665d0
sp(148:168)=psp2(43:63)*(-5.12347538297979987476d0)+psp2(85:105)*2
$.56173769148989993738d0+psp2(232:252)*5.12347538297979987476d0+psp
$2(379:399)*(-2.56173769148989993738d0)
sp(169:189)=psp2(169:189)*(-12.54990039801113255180d0)+psp2(211:23
$1)*1.56873754975139156898d0+psp2(316:336)*4.18330013267037692515d0
$+psp2(358:378)*1.04582503316759423129d0+psp2(421:441)*(-0.52291251
$658379711564d0)
sp(190:210)=psp2(85:105)*2.21852991866235615959d0+psp2(274:294)*(-
$13.31117951197413695752d0)+psp2(379:399)*2.21852991866235615959d0
sp(211:231)=psp2(211:231)*3.50780380010056935802d0+psp2(358:378)*(
$-7.01560760020113871605d0)+psp2(421:441)*0.70156076002011391601d0
return
end
subroutine hrrspher_hfd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1050),psp(780)
real*8 psp2(1050)
real*8 hpd(315),ipd(420),kpd(540),hdd(630),idd(840),xab,yab,zab
sp(1:130)=psp(521:650)*1.73205080756887697113d0
sp(131:260)=psp(131:260)*1.73205080756887697113d0
sp(261:390)=psp(1:130)+psp(261:390)*(-0.50000000000000000000d0)+ps
$p(651:780)*(-0.50000000000000000000d0)
sp(391:520)=psp(391:520)*1.73205080756887697113d0
sp(521:650)=psp(261:390)*(-0.86602540378443848557d0)+psp(651:780)*
$0.86602540378443848557d0
do ii=1,5
ji=(ii-1)*130
do ki=1,130
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
hpd(1:30)=psp(106:135)+zab*psp(1:30)
hpd(31:55)=psp(141:165)+zab*psp(31:55)
hpd(56:75)=psp(171:190)+zab*psp(56:75)
hpd(76:90)=psp(196:210)+zab*psp(76:90)
hpd(91:100)=psp(216:225)+zab*psp(91:100)
hpd(101:105)=psp(231:235)+zab*psp(101:105)
hpd(106:135)=psp(111:140)+yab*psp(1:30)
hpd(136:160)=psp(146:170)+yab*psp(31:55)
hpd(161:180)=psp(176:195)+yab*psp(56:75)
hpd(181:195)=psp(201:215)+yab*psp(76:90)
hpd(196:205)=psp(221:230)+yab*psp(91:100)
hpd(206:210)=psp(236:240)+yab*psp(101:105)
hpd(211:315)=psp(141:245)+xab*psp(1:105)
ipd(1:35)=psp(246:280)+zab*psp(106:140)
ipd(36:65)=psp(286:315)+zab*psp(141:170)
ipd(66:90)=psp(321:345)+zab*psp(171:195)
ipd(91:110)=psp(351:370)+zab*psp(196:215)
ipd(111:125)=psp(376:390)+zab*psp(216:230)
ipd(126:135)=psp(396:405)+zab*psp(231:240)
ipd(136:140)=psp(411:415)+zab*psp(241:245)
ipd(141:175)=psp(251:285)+yab*psp(106:140)
ipd(176:205)=psp(291:320)+yab*psp(141:170)
ipd(206:230)=psp(326:350)+yab*psp(171:195)
ipd(231:250)=psp(356:375)+yab*psp(196:215)
ipd(251:265)=psp(381:395)+yab*psp(216:230)
ipd(266:275)=psp(401:410)+yab*psp(231:240)
ipd(276:280)=psp(416:420)+yab*psp(241:245)
ipd(281:420)=psp(286:425)+xab*psp(106:245)
kpd(1:40)=psp(426:465)+zab*psp(246:285)
kpd(41:75)=psp(471:505)+zab*psp(286:320)
kpd(76:105)=psp(511:540)+zab*psp(321:350)
kpd(106:130)=psp(546:570)+zab*psp(351:375)
kpd(131:150)=psp(576:595)+zab*psp(376:395)
kpd(151:165)=psp(601:615)+zab*psp(396:410)
kpd(166:175)=psp(621:630)+zab*psp(411:420)
kpd(176:180)=psp(636:640)+zab*psp(421:425)
kpd(181:220)=psp(431:470)+yab*psp(246:285)
kpd(221:255)=psp(476:510)+yab*psp(286:320)
kpd(256:285)=psp(516:545)+yab*psp(321:350)
kpd(286:310)=psp(551:575)+yab*psp(351:375)
kpd(311:330)=psp(581:600)+yab*psp(376:395)
kpd(331:345)=psp(606:620)+yab*psp(396:410)
kpd(346:355)=psp(626:635)+yab*psp(411:420)
kpd(356:360)=psp(641:645)+yab*psp(421:425)
kpd(361:540)=psp(471:650)+xab*psp(246:425)
hdd(1:30)=ipd(1:30)+zab*hpd(1:30)
hdd(31:55)=ipd(36:60)+zab*hpd(31:55)
hdd(56:75)=ipd(66:85)+zab*hpd(56:75)
hdd(76:90)=ipd(91:105)+zab*hpd(76:90)
hdd(91:100)=ipd(111:120)+zab*hpd(91:100)
hdd(101:105)=ipd(126:130)+zab*hpd(101:105)
hdd(211:240)=ipd(146:175)+yab*hpd(106:135)
hdd(241:265)=ipd(181:205)+yab*hpd(136:160)
hdd(266:285)=ipd(211:230)+yab*hpd(161:180)
hdd(286:300)=ipd(236:250)+yab*hpd(181:195)
hdd(301:310)=ipd(256:265)+yab*hpd(196:205)
hdd(311:315)=ipd(271:275)+yab*hpd(206:210)
hdd(421:450)=ipd(286:315)+yab*hpd(211:240)
hdd(451:475)=ipd(321:345)+yab*hpd(241:265)
hdd(476:495)=ipd(351:370)+yab*hpd(266:285)
hdd(496:510)=ipd(376:390)+yab*hpd(286:300)
hdd(511:520)=ipd(396:405)+yab*hpd(301:310)
hdd(521:525)=ipd(411:415)+yab*hpd(311:315)
hdd(526:630)=ipd(316:420)+xab*hpd(211:315)
idd(1:35)=kpd(1:35)+zab*ipd(1:35)
idd(36:65)=kpd(41:70)+zab*ipd(36:65)
idd(66:90)=kpd(76:100)+zab*ipd(66:90)
idd(91:110)=kpd(106:125)+zab*ipd(91:110)
idd(111:125)=kpd(131:145)+zab*ipd(111:125)
idd(126:135)=kpd(151:160)+zab*ipd(126:135)
idd(136:140)=kpd(166:170)+zab*ipd(136:140)
idd(281:315)=kpd(186:220)+yab*ipd(141:175)
idd(316:345)=kpd(226:255)+yab*ipd(176:205)
idd(346:370)=kpd(261:285)+yab*ipd(206:230)
idd(371:390)=kpd(291:310)+yab*ipd(231:250)
idd(391:405)=kpd(316:330)+yab*ipd(251:265)
idd(406:415)=kpd(336:345)+yab*ipd(266:275)
idd(416:420)=kpd(351:355)+yab*ipd(276:280)
idd(561:595)=kpd(366:400)+yab*ipd(281:315)
idd(596:625)=kpd(406:435)+yab*ipd(316:345)
idd(626:650)=kpd(441:465)+yab*ipd(346:370)
idd(651:670)=kpd(471:490)+yab*ipd(371:390)
idd(671:685)=kpd(496:510)+yab*ipd(391:405)
idd(686:695)=kpd(516:525)+yab*ipd(406:415)
idd(696:700)=kpd(531:535)+yab*ipd(416:420)
idd(701:840)=kpd(401:540)+xab*ipd(281:420)
psp2(1:30)=idd(1:30)+zab*hdd(1:30)
psp2(31:55)=idd(36:60)+zab*hdd(31:55)
psp2(56:75)=idd(66:85)+zab*hdd(56:75)
psp2(76:90)=idd(91:105)+zab*hdd(76:90)
psp2(91:100)=idd(111:120)+zab*hdd(91:100)
psp2(101:105)=idd(126:130)+zab*hdd(101:105)
psp2(106:135)=idd(6:35)+yab*hdd(1:30)
psp2(136:160)=idd(41:65)+yab*hdd(31:55)
psp2(161:180)=idd(71:90)+yab*hdd(56:75)
psp2(181:195)=idd(96:110)+yab*hdd(76:90)
psp2(196:205)=idd(116:125)+yab*hdd(91:100)
psp2(206:210)=idd(131:135)+yab*hdd(101:105)
psp2(211:240)=idd(281:310)+zab*hdd(211:240)
psp2(241:265)=idd(316:340)+zab*hdd(241:265)
psp2(266:285)=idd(346:365)+zab*hdd(266:285)
psp2(286:300)=idd(371:385)+zab*hdd(286:300)
psp2(301:310)=idd(391:400)+zab*hdd(301:310)
psp2(311:315)=idd(406:410)+zab*hdd(311:315)
psp2(316:345)=idd(286:315)+yab*hdd(211:240)
psp2(346:370)=idd(321:345)+yab*hdd(241:265)
psp2(371:390)=idd(351:370)+yab*hdd(266:285)
psp2(391:405)=idd(376:390)+yab*hdd(286:300)
psp2(406:415)=idd(396:405)+yab*hdd(301:310)
psp2(416:420)=idd(411:415)+yab*hdd(311:315)
psp2(421:525)=idd(36:140)+xab*hdd(1:105)
psp2(526:555)=idd(561:590)+zab*hdd(421:450)
psp2(556:580)=idd(596:620)+zab*hdd(451:475)
psp2(581:600)=idd(626:645)+zab*hdd(476:495)
psp2(601:615)=idd(651:665)+zab*hdd(496:510)
psp2(616:625)=idd(671:680)+zab*hdd(511:520)
psp2(626:630)=idd(686:690)+zab*hdd(521:525)
psp2(631:735)=idd(316:420)+xab*hdd(211:315)
psp2(736:765)=idd(701:730)+zab*hdd(526:555)
psp2(766:790)=idd(736:760)+zab*hdd(556:580)
psp2(791:810)=idd(766:785)+zab*hdd(581:600)
psp2(811:825)=idd(791:805)+zab*hdd(601:615)
psp2(826:835)=idd(811:820)+zab*hdd(616:625)
psp2(836:840)=idd(826:830)+zab*hdd(626:630)
psp2(841:870)=idd(706:735)+yab*hdd(526:555)
psp2(871:895)=idd(741:765)+yab*hdd(556:580)
psp2(896:915)=idd(771:790)+yab*hdd(581:600)
psp2(916:930)=idd(796:810)+yab*hdd(601:615)
psp2(931:940)=idd(816:825)+yab*hdd(616:625)
psp2(941:945)=idd(831:835)+yab*hdd(626:630)
psp2(946:1050)=idd(736:840)+xab*hdd(526:630)
sp(1:105)=psp2(316:420)*(-0.79056941504209476967d0)+psp2(841:945)*
$2.37170824512628453107d0
sp(106:210)=psp2(526:630)*3.87298334620741657730d0
sp(211:315)=psp2(106:210)*2.44948974278317788134d0+psp2(316:420)*(
$-0.61237243569579447033d0)+psp2(841:945)*(-0.61237243569579447033d
$0)
sp(316:420)=psp2(1:105)+psp2(211:315)*(-1.50000000000000000000d0)+
$psp2(736:840)*(-1.50000000000000000000d0)
sp(421:525)=psp2(421:525)*2.44948974278317788134d0+psp2(631:735)*(
$-0.61237243569579447033d0)+psp2(946:1050)*(-0.61237243569579447033
$d0)
sp(526:630)=psp2(211:315)*(-1.93649167310370828865d0)+psp2(736:840
$)*1.93649167310370828865d0
sp(631:735)=psp2(631:735)*(-2.37170824512628453107d0)+psp2(946:105
$0)*0.79056941504209476967d0
do ji=0,6
ki=ji*105
jk=ji*5
do ii=0,20
k=ii*5
il=ii*35
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:35)=psp2(176:210)*0.70156076002011391601d0+psp2(491:525)*(-7.
$01560760020113871605d0)+psp2(666:700)*3.50780380010056935802d0
sp(36:70)=psp2(316:350)*(-8.87411967464942463835d0)+psp2(561:595)*
$8.87411967464942463835d0
sp(71:105)=psp2(106:140)*(-4.18330013267037692515d0)+psp2(176:210)
$*0.52291251658379711564d0+psp2(421:455)*12.54990039801113255180d0+
$psp2(491:525)*(-1.04582503316759423129d0)+psp2(666:700)*(-1.568737
$54975139156898d0)
sp(106:140)=psp2(246:280)*10.24695076595959974952d0+psp2(316:350)*
$(-5.12347538297979987476d0)+psp2(561:595)*(-5.12347538297979987476
$d0)
sp(141:175)=psp2(36:70)*3.87298334620741613321d0+psp2(106:140)*(-5
$.80947501931112419982d0)+psp2(176:210)*0.48412291827592701665d0+ps
$p2(421:455)*(-5.80947501931112419982d0)+psp2(491:525)*0.9682458365
$5185403330d0+psp2(666:700)*0.48412291827592701665d0
sp(176:210)=psp2(1:35)+psp2(71:105)*(-5.00000000000000000000d0)+ps
$p2(141:175)*1.87500000000000000000d0+psp2(386:420)*(-5.00000000000
$000000000d0)+psp2(456:490)*3.75000000000000000000d0+psp2(631:665)*
$1.87500000000000000000d0
sp(211:245)=psp2(211:245)*3.87298334620741613321d0+psp2(281:315)*(
$-5.80947501931112419982d0)+psp2(351:385)*0.48412291827592701665d0+
$psp2(526:560)*(-5.80947501931112419982d0)+psp2(596:630)*0.96824583
$655185403330d0+psp2(701:735)*0.48412291827592701665d0
sp(246:280)=psp2(71:105)*(-5.12347538297979987476d0)+psp2(141:175)
$*2.56173769148989993738d0+psp2(386:420)*5.12347538297979987476d0+p
$sp2(631:665)*(-2.56173769148989993738d0)
sp(281:315)=psp2(281:315)*(-12.54990039801113255180d0)+psp2(351:38
$5)*1.56873754975139156898d0+psp2(526:560)*4.18330013267037692515d0
$+psp2(596:630)*1.04582503316759423129d0+psp2(701:735)*(-0.52291251
$658379711564d0)
sp(316:350)=psp2(141:175)*2.21852991866235615959d0+psp2(456:490)*(
$-13.31117951197413695752d0)+psp2(631:665)*2.21852991866235615959d0
sp(351:385)=psp2(351:385)*3.50780380010056935802d0+psp2(596:630)*(
$-7.01560760020113871605d0)+psp2(701:735)*0.70156076002011391601d0
return
end
subroutine hrrspher_hff_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1470),psp(1300)
real*8 psp2(1470)
real*8 hpf(441),ipf(588),kpf(756),hdf(882),idf(1176),xab,yab,zab
sp(1:130)=psp(391:520)*(-0.79056941504209476967d0)+psp(1041:1170)*
$2.37170824512628453107d0
sp(131:260)=psp(651:780)*3.87298334620741657730d0
sp(261:390)=psp(131:260)*2.44948974278317788134d0+psp(391:520)*(-0
$.61237243569579447033d0)+psp(1041:1170)*(-0.61237243569579447033d0
$)
sp(391:520)=psp(1:130)+psp(261:390)*(-1.50000000000000000000d0)+ps
$p(911:1040)*(-1.50000000000000000000d0)
sp(521:650)=psp(521:650)*2.44948974278317788134d0+psp(781:910)*(-0
$.61237243569579447033d0)+psp(1171:1300)*(-0.61237243569579447033d0
$)
sp(651:780)=psp(261:390)*(-1.93649167310370828865d0)+psp(911:1040)
$*1.93649167310370828865d0
sp(781:910)=psp(781:910)*(-2.37170824512628453107d0)+psp(1171:1300
$)*0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*130
do ki=1,130
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
hpf(1:42)=psp(148:189)+zab*psp(1:42)
hpf(43:77)=psp(197:231)+zab*psp(43:77)
hpf(78:105)=psp(239:266)+zab*psp(78:105)
hpf(106:126)=psp(274:294)+zab*psp(106:126)
hpf(127:140)=psp(302:315)+zab*psp(127:140)
hpf(141:147)=psp(323:329)+zab*psp(141:147)
hpf(148:189)=psp(155:196)+yab*psp(1:42)
hpf(190:224)=psp(204:238)+yab*psp(43:77)
hpf(225:252)=psp(246:273)+yab*psp(78:105)
hpf(253:273)=psp(281:301)+yab*psp(106:126)
hpf(274:287)=psp(309:322)+yab*psp(127:140)
hpf(288:294)=psp(330:336)+yab*psp(141:147)
hpf(295:441)=psp(197:343)+xab*psp(1:147)
ipf(1:49)=psp(344:392)+zab*psp(148:196)
ipf(50:91)=psp(400:441)+zab*psp(197:238)
ipf(92:126)=psp(449:483)+zab*psp(239:273)
ipf(127:154)=psp(491:518)+zab*psp(274:301)
ipf(155:175)=psp(526:546)+zab*psp(302:322)
ipf(176:189)=psp(554:567)+zab*psp(323:336)
ipf(190:196)=psp(575:581)+zab*psp(337:343)
ipf(197:245)=psp(351:399)+yab*psp(148:196)
ipf(246:287)=psp(407:448)+yab*psp(197:238)
ipf(288:322)=psp(456:490)+yab*psp(239:273)
ipf(323:350)=psp(498:525)+yab*psp(274:301)
ipf(351:371)=psp(533:553)+yab*psp(302:322)
ipf(372:385)=psp(561:574)+yab*psp(323:336)
ipf(386:392)=psp(582:588)+yab*psp(337:343)
ipf(393:588)=psp(400:595)+xab*psp(148:343)
kpf(1:56)=psp(596:651)+zab*psp(344:399)
kpf(57:105)=psp(659:707)+zab*psp(400:448)
kpf(106:147)=psp(715:756)+zab*psp(449:490)
kpf(148:182)=psp(764:798)+zab*psp(491:525)
kpf(183:210)=psp(806:833)+zab*psp(526:553)
kpf(211:231)=psp(841:861)+zab*psp(554:574)
kpf(232:245)=psp(869:882)+zab*psp(575:588)
kpf(246:252)=psp(890:896)+zab*psp(589:595)
kpf(253:308)=psp(603:658)+yab*psp(344:399)
kpf(309:357)=psp(666:714)+yab*psp(400:448)
kpf(358:399)=psp(722:763)+yab*psp(449:490)
kpf(400:434)=psp(771:805)+yab*psp(491:525)
kpf(435:462)=psp(813:840)+yab*psp(526:553)
kpf(463:483)=psp(848:868)+yab*psp(554:574)
kpf(484:497)=psp(876:889)+yab*psp(575:588)
kpf(498:504)=psp(897:903)+yab*psp(589:595)
kpf(505:756)=psp(659:910)+xab*psp(344:595)
hdf(1:42)=ipf(1:42)+zab*hpf(1:42)
hdf(43:77)=ipf(50:84)+zab*hpf(43:77)
hdf(78:105)=ipf(92:119)+zab*hpf(78:105)
hdf(106:126)=ipf(127:147)+zab*hpf(106:126)
hdf(127:140)=ipf(155:168)+zab*hpf(127:140)
hdf(141:147)=ipf(176:182)+zab*hpf(141:147)
hdf(295:336)=ipf(204:245)+yab*hpf(148:189)
hdf(337:371)=ipf(253:287)+yab*hpf(190:224)
hdf(372:399)=ipf(295:322)+yab*hpf(225:252)
hdf(400:420)=ipf(330:350)+yab*hpf(253:273)
hdf(421:434)=ipf(358:371)+yab*hpf(274:287)
hdf(435:441)=ipf(379:385)+yab*hpf(288:294)
hdf(589:630)=ipf(400:441)+yab*hpf(295:336)
hdf(631:665)=ipf(449:483)+yab*hpf(337:371)
hdf(666:693)=ipf(491:518)+yab*hpf(372:399)
hdf(694:714)=ipf(526:546)+yab*hpf(400:420)
hdf(715:728)=ipf(554:567)+yab*hpf(421:434)
hdf(729:735)=ipf(575:581)+yab*hpf(435:441)
hdf(736:882)=ipf(442:588)+xab*hpf(295:441)
idf(1:49)=kpf(1:49)+zab*ipf(1:49)
idf(50:91)=kpf(57:98)+zab*ipf(50:91)
idf(92:126)=kpf(106:140)+zab*ipf(92:126)
idf(127:154)=kpf(148:175)+zab*ipf(127:154)
idf(155:175)=kpf(183:203)+zab*ipf(155:175)
idf(176:189)=kpf(211:224)+zab*ipf(176:189)
idf(190:196)=kpf(232:238)+zab*ipf(190:196)
idf(393:441)=kpf(260:308)+yab*ipf(197:245)
idf(442:483)=kpf(316:357)+yab*ipf(246:287)
idf(484:518)=kpf(365:399)+yab*ipf(288:322)
idf(519:546)=kpf(407:434)+yab*ipf(323:350)
idf(547:567)=kpf(442:462)+yab*ipf(351:371)
idf(568:581)=kpf(470:483)+yab*ipf(372:385)
idf(582:588)=kpf(491:497)+yab*ipf(386:392)
idf(785:833)=kpf(512:560)+yab*ipf(393:441)
idf(834:875)=kpf(568:609)+yab*ipf(442:483)
idf(876:910)=kpf(617:651)+yab*ipf(484:518)
idf(911:938)=kpf(659:686)+yab*ipf(519:546)
idf(939:959)=kpf(694:714)+yab*ipf(547:567)
idf(960:973)=kpf(722:735)+yab*ipf(568:581)
idf(974:980)=kpf(743:749)+yab*ipf(582:588)
idf(981:1176)=kpf(561:756)+xab*ipf(393:588)
psp2(1:42)=idf(1:42)+zab*hdf(1:42)
psp2(43:77)=idf(50:84)+zab*hdf(43:77)
psp2(78:105)=idf(92:119)+zab*hdf(78:105)
psp2(106:126)=idf(127:147)+zab*hdf(106:126)
psp2(127:140)=idf(155:168)+zab*hdf(127:140)
psp2(141:147)=idf(176:182)+zab*hdf(141:147)
psp2(148:189)=idf(8:49)+yab*hdf(1:42)
psp2(190:224)=idf(57:91)+yab*hdf(43:77)
psp2(225:252)=idf(99:126)+yab*hdf(78:105)
psp2(253:273)=idf(134:154)+yab*hdf(106:126)
psp2(274:287)=idf(162:175)+yab*hdf(127:140)
psp2(288:294)=idf(183:189)+yab*hdf(141:147)
psp2(295:336)=idf(393:434)+zab*hdf(295:336)
psp2(337:371)=idf(442:476)+zab*hdf(337:371)
psp2(372:399)=idf(484:511)+zab*hdf(372:399)
psp2(400:420)=idf(519:539)+zab*hdf(400:420)
psp2(421:434)=idf(547:560)+zab*hdf(421:434)
psp2(435:441)=idf(568:574)+zab*hdf(435:441)
psp2(442:483)=idf(400:441)+yab*hdf(295:336)
psp2(484:518)=idf(449:483)+yab*hdf(337:371)
psp2(519:546)=idf(491:518)+yab*hdf(372:399)
psp2(547:567)=idf(526:546)+yab*hdf(400:420)
psp2(568:581)=idf(554:567)+yab*hdf(421:434)
psp2(582:588)=idf(575:581)+yab*hdf(435:441)
psp2(589:735)=idf(50:196)+xab*hdf(1:147)
psp2(736:777)=idf(785:826)+zab*hdf(589:630)
psp2(778:812)=idf(834:868)+zab*hdf(631:665)
psp2(813:840)=idf(876:903)+zab*hdf(666:693)
psp2(841:861)=idf(911:931)+zab*hdf(694:714)
psp2(862:875)=idf(939:952)+zab*hdf(715:728)
psp2(876:882)=idf(960:966)+zab*hdf(729:735)
psp2(883:1029)=idf(442:588)+xab*hdf(295:441)
psp2(1030:1071)=idf(981:1022)+zab*hdf(736:777)
psp2(1072:1106)=idf(1030:1064)+zab*hdf(778:812)
psp2(1107:1134)=idf(1072:1099)+zab*hdf(813:840)
psp2(1135:1155)=idf(1107:1127)+zab*hdf(841:861)
psp2(1156:1169)=idf(1135:1148)+zab*hdf(862:875)
psp2(1170:1176)=idf(1156:1162)+zab*hdf(876:882)
psp2(1177:1218)=idf(988:1029)+yab*hdf(736:777)
psp2(1219:1253)=idf(1037:1071)+yab*hdf(778:812)
psp2(1254:1281)=idf(1079:1106)+yab*hdf(813:840)
psp2(1282:1302)=idf(1114:1134)+yab*hdf(841:861)
psp2(1303:1316)=idf(1142:1155)+yab*hdf(862:875)
psp2(1317:1323)=idf(1163:1169)+yab*hdf(876:882)
psp2(1324:1470)=idf(1030:1176)+xab*hdf(736:882)
sp(1:147)=psp2(442:588)*(-0.79056941504209476967d0)+psp2(1177:1323
$)*2.37170824512628453107d0
sp(148:294)=psp2(736:882)*3.87298334620741657730d0
sp(295:441)=psp2(148:294)*2.44948974278317788134d0+psp2(442:588)*(
$-0.61237243569579447033d0)+psp2(1177:1323)*(-0.6123724356957944703
$3d0)
sp(442:588)=psp2(1:147)+psp2(295:441)*(-1.50000000000000000000d0)+
$psp2(1030:1176)*(-1.50000000000000000000d0)
sp(589:735)=psp2(589:735)*2.44948974278317788134d0+psp2(883:1029)*
$(-0.61237243569579447033d0)+psp2(1324:1470)*(-0.612372435695794470
$33d0)
sp(736:882)=psp2(295:441)*(-1.93649167310370828865d0)+psp2(1030:11
$76)*1.93649167310370828865d0
sp(883:1029)=psp2(883:1029)*(-2.37170824512628453107d0)+psp2(1324:
$1470)*0.79056941504209476967d0
do ji=0,6
ki=ji*147
jk=ji*7
do ii=0,20
k=ii*7
il=ii*49
do ik=1,7
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:49)=psp2(246:294)*0.70156076002011391601d0+psp2(687:735)*(-7.
$01560760020113871605d0)+psp2(932:980)*3.50780380010056935802d0
sp(50:98)=psp2(442:490)*(-8.87411967464942463835d0)+psp2(785:833)*
$8.87411967464942463835d0
sp(99:147)=psp2(148:196)*(-4.18330013267037692515d0)+psp2(246:294)
$*0.52291251658379711564d0+psp2(589:637)*12.54990039801113255180d0+
$psp2(687:735)*(-1.04582503316759423129d0)+psp2(932:980)*(-1.568737
$54975139156898d0)
sp(148:196)=psp2(344:392)*10.24695076595959974952d0+psp2(442:490)*
$(-5.12347538297979987476d0)+psp2(785:833)*(-5.12347538297979987476
$d0)
sp(197:245)=psp2(50:98)*3.87298334620741613321d0+psp2(148:196)*(-5
$.80947501931112419982d0)+psp2(246:294)*0.48412291827592701665d0+ps
$p2(589:637)*(-5.80947501931112419982d0)+psp2(687:735)*0.9682458365
$5185403330d0+psp2(932:980)*0.48412291827592701665d0
sp(246:294)=psp2(1:49)+psp2(99:147)*(-5.00000000000000000000d0)+ps
$p2(197:245)*1.87500000000000000000d0+psp2(540:588)*(-5.00000000000
$000000000d0)+psp2(638:686)*3.75000000000000000000d0+psp2(883:931)*
$1.87500000000000000000d0
sp(295:343)=psp2(295:343)*3.87298334620741613321d0+psp2(393:441)*(
$-5.80947501931112419982d0)+psp2(491:539)*0.48412291827592701665d0+
$psp2(736:784)*(-5.80947501931112419982d0)+psp2(834:882)*0.96824583
$655185403330d0+psp2(981:1029)*0.48412291827592701665d0
sp(344:392)=psp2(99:147)*(-5.12347538297979987476d0)+psp2(197:245)
$*2.56173769148989993738d0+psp2(540:588)*5.12347538297979987476d0+p
$sp2(883:931)*(-2.56173769148989993738d0)
sp(393:441)=psp2(393:441)*(-12.54990039801113255180d0)+psp2(491:53
$9)*1.56873754975139156898d0+psp2(736:784)*4.18330013267037692515d0
$+psp2(834:882)*1.04582503316759423129d0+psp2(981:1029)*(-0.5229125
$1658379711564d0)
sp(442:490)=psp2(197:245)*2.21852991866235615959d0+psp2(638:686)*(
$-13.31117951197413695752d0)+psp2(883:931)*2.21852991866235615959d0
sp(491:539)=psp2(491:539)*3.50780380010056935802d0+psp2(834:882)*(
$-7.01560760020113871605d0)+psp2(981:1029)*0.70156076002011391601d0
return
end
subroutine hrrspher_hfg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1890),psp(1950)
real*8 hpg(567),ipg(756),kpg(972),hdg(1134),idg(1512),xab,yab,zab
sp(1:130)=psp(1041:1170)*(-2.95803989154980806475d0)+psp(1691:1820
$)*2.95803989154980806475d0
sp(131:260)=psp(391:520)*(-2.09165006633518890666d0)+psp(1301:1430
$)*6.27495019900556627590d0
sp(261:390)=psp(781:910)*6.70820393249936941515d0+psp(1041:1170)*(
$-1.11803398874989490253d0)+psp(1691:1820)*(-1.11803398874989490253
$d0)
sp(391:520)=psp(131:260)*3.16227766016837907870d0+psp(391:520)*(-2
$.37170824512628453107d0)+psp(1301:1430)*(-2.37170824512628453107d0
$)
sp(521:650)=psp(1:130)+psp(261:390)*(-3.00000000000000000000d0)+ps
$p(521:650)*0.37500000000000000000d0+psp(1171:1300)*(-3.00000000000
$000000000d0)+psp(1431:1560)*0.75000000000000000000d0+psp(1821:1950
$)*0.37500000000000000000d0
sp(651:780)=psp(651:780)*3.16227766016837907870d0+psp(911:1040)*(-
$2.37170824512628453107d0)+psp(1561:1690)*(-2.37170824512628453107d
$0)
sp(781:910)=psp(261:390)*(-3.35410196624968470758d0)+psp(521:650)*
$0.55901699437494745126d0+psp(1171:1300)*3.35410196624968470758d0+p
$sp(1821:1950)*(-0.55901699437494745126d0)
sp(911:1040)=psp(911:1040)*(-6.27495019900556627590d0)+psp(1561:16
$90)*2.09165006633518890666d0
sp(1041:1170)=psp(521:650)*0.73950997288745201619d0+psp(1431:1560)
$*(-4.43705983732471231917d0)+psp(1821:1950)*0.73950997288745201619
$d0
do ii=1,9
ji=(ii-1)*130
do ki=1,130
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
hpg(1:54)=psp(190:243)+zab*psp(1:54)
hpg(55:99)=psp(253:297)+zab*psp(55:99)
hpg(100:135)=psp(307:342)+zab*psp(100:135)
hpg(136:162)=psp(352:378)+zab*psp(136:162)
hpg(163:180)=psp(388:405)+zab*psp(163:180)
hpg(181:189)=psp(415:423)+zab*psp(181:189)
hpg(190:243)=psp(199:252)+yab*psp(1:54)
hpg(244:288)=psp(262:306)+yab*psp(55:99)
hpg(289:324)=psp(316:351)+yab*psp(100:135)
hpg(325:351)=psp(361:387)+yab*psp(136:162)
hpg(352:369)=psp(397:414)+yab*psp(163:180)
hpg(370:378)=psp(424:432)+yab*psp(181:189)
hpg(379:567)=psp(253:441)+xab*psp(1:189)
ipg(1:63)=psp(442:504)+zab*psp(190:252)
ipg(64:117)=psp(514:567)+zab*psp(253:306)
ipg(118:162)=psp(577:621)+zab*psp(307:351)
ipg(163:198)=psp(631:666)+zab*psp(352:387)
ipg(199:225)=psp(676:702)+zab*psp(388:414)
ipg(226:243)=psp(712:729)+zab*psp(415:432)
ipg(244:252)=psp(739:747)+zab*psp(433:441)
ipg(253:315)=psp(451:513)+yab*psp(190:252)
ipg(316:369)=psp(523:576)+yab*psp(253:306)
ipg(370:414)=psp(586:630)+yab*psp(307:351)
ipg(415:450)=psp(640:675)+yab*psp(352:387)
ipg(451:477)=psp(685:711)+yab*psp(388:414)
ipg(478:495)=psp(721:738)+yab*psp(415:432)
ipg(496:504)=psp(748:756)+yab*psp(433:441)
ipg(505:756)=psp(514:765)+xab*psp(190:441)
kpg(1:72)=psp(766:837)+zab*psp(442:513)
kpg(73:135)=psp(847:909)+zab*psp(514:576)
kpg(136:189)=psp(919:972)+zab*psp(577:630)
kpg(190:234)=psp(982:1026)+zab*psp(631:675)
kpg(235:270)=psp(1036:1071)+zab*psp(676:711)
kpg(271:297)=psp(1081:1107)+zab*psp(712:738)
kpg(298:315)=psp(1117:1134)+zab*psp(739:756)
kpg(316:324)=psp(1144:1152)+zab*psp(757:765)
kpg(325:396)=psp(775:846)+yab*psp(442:513)
kpg(397:459)=psp(856:918)+yab*psp(514:576)
kpg(460:513)=psp(928:981)+yab*psp(577:630)
kpg(514:558)=psp(991:1035)+yab*psp(631:675)
kpg(559:594)=psp(1045:1080)+yab*psp(676:711)
kpg(595:621)=psp(1090:1116)+yab*psp(712:738)
kpg(622:639)=psp(1126:1143)+yab*psp(739:756)
kpg(640:648)=psp(1153:1161)+yab*psp(757:765)
kpg(649:972)=psp(847:1170)+xab*psp(442:765)
hdg(1:54)=ipg(1:54)+zab*hpg(1:54)
hdg(55:99)=ipg(64:108)+zab*hpg(55:99)
hdg(100:135)=ipg(118:153)+zab*hpg(100:135)
hdg(136:162)=ipg(163:189)+zab*hpg(136:162)
hdg(163:180)=ipg(199:216)+zab*hpg(163:180)
hdg(181:189)=ipg(226:234)+zab*hpg(181:189)
hdg(379:432)=ipg(262:315)+yab*hpg(190:243)
hdg(433:477)=ipg(325:369)+yab*hpg(244:288)
hdg(478:513)=ipg(379:414)+yab*hpg(289:324)
hdg(514:540)=ipg(424:450)+yab*hpg(325:351)
hdg(541:558)=ipg(460:477)+yab*hpg(352:369)
hdg(559:567)=ipg(487:495)+yab*hpg(370:378)
hdg(757:810)=ipg(514:567)+yab*hpg(379:432)
hdg(811:855)=ipg(577:621)+yab*hpg(433:477)
hdg(856:891)=ipg(631:666)+yab*hpg(478:513)
hdg(892:918)=ipg(676:702)+yab*hpg(514:540)
hdg(919:936)=ipg(712:729)+yab*hpg(541:558)
hdg(937:945)=ipg(739:747)+yab*hpg(559:567)
hdg(946:1134)=ipg(568:756)+xab*hpg(379:567)
idg(1:63)=kpg(1:63)+zab*ipg(1:63)
idg(64:117)=kpg(73:126)+zab*ipg(64:117)
idg(118:162)=kpg(136:180)+zab*ipg(118:162)
idg(163:198)=kpg(190:225)+zab*ipg(163:198)
idg(199:225)=kpg(235:261)+zab*ipg(199:225)
idg(226:243)=kpg(271:288)+zab*ipg(226:243)
idg(244:252)=kpg(298:306)+zab*ipg(244:252)
idg(505:567)=kpg(334:396)+yab*ipg(253:315)
idg(568:621)=kpg(406:459)+yab*ipg(316:369)
idg(622:666)=kpg(469:513)+yab*ipg(370:414)
idg(667:702)=kpg(523:558)+yab*ipg(415:450)
idg(703:729)=kpg(568:594)+yab*ipg(451:477)
idg(730:747)=kpg(604:621)+yab*ipg(478:495)
idg(748:756)=kpg(631:639)+yab*ipg(496:504)
idg(1009:1071)=kpg(658:720)+yab*ipg(505:567)
idg(1072:1125)=kpg(730:783)+yab*ipg(568:621)
idg(1126:1170)=kpg(793:837)+yab*ipg(622:666)
idg(1171:1206)=kpg(847:882)+yab*ipg(667:702)
idg(1207:1233)=kpg(892:918)+yab*ipg(703:729)
idg(1234:1251)=kpg(928:945)+yab*ipg(730:747)
idg(1252:1260)=kpg(955:963)+yab*ipg(748:756)
idg(1261:1512)=kpg(721:972)+xab*ipg(505:756)
psp(1:54)=idg(1:54)+zab*hdg(1:54)
psp(55:99)=idg(64:108)+zab*hdg(55:99)
psp(100:135)=idg(118:153)+zab*hdg(100:135)
psp(136:162)=idg(163:189)+zab*hdg(136:162)
psp(163:180)=idg(199:216)+zab*hdg(163:180)
psp(181:189)=idg(226:234)+zab*hdg(181:189)
psp(190:243)=idg(10:63)+yab*hdg(1:54)
psp(244:288)=idg(73:117)+yab*hdg(55:99)
psp(289:324)=idg(127:162)+yab*hdg(100:135)
psp(325:351)=idg(172:198)+yab*hdg(136:162)
psp(352:369)=idg(208:225)+yab*hdg(163:180)
psp(370:378)=idg(235:243)+yab*hdg(181:189)
psp(379:432)=idg(505:558)+zab*hdg(379:432)
psp(433:477)=idg(568:612)+zab*hdg(433:477)
psp(478:513)=idg(622:657)+zab*hdg(478:513)
psp(514:540)=idg(667:693)+zab*hdg(514:540)
psp(541:558)=idg(703:720)+zab*hdg(541:558)
psp(559:567)=idg(730:738)+zab*hdg(559:567)
psp(568:621)=idg(514:567)+yab*hdg(379:432)
psp(622:666)=idg(577:621)+yab*hdg(433:477)
psp(667:702)=idg(631:666)+yab*hdg(478:513)
psp(703:729)=idg(676:702)+yab*hdg(514:540)
psp(730:747)=idg(712:729)+yab*hdg(541:558)
psp(748:756)=idg(739:747)+yab*hdg(559:567)
psp(757:945)=idg(64:252)+xab*hdg(1:189)
psp(946:999)=idg(1009:1062)+zab*hdg(757:810)
psp(1000:1044)=idg(1072:1116)+zab*hdg(811:855)
psp(1045:1080)=idg(1126:1161)+zab*hdg(856:891)
psp(1081:1107)=idg(1171:1197)+zab*hdg(892:918)
psp(1108:1125)=idg(1207:1224)+zab*hdg(919:936)
psp(1126:1134)=idg(1234:1242)+zab*hdg(937:945)
psp(1135:1323)=idg(568:756)+xab*hdg(379:567)
psp(1324:1377)=idg(1261:1314)+zab*hdg(946:999)
psp(1378:1422)=idg(1324:1368)+zab*hdg(1000:1044)
psp(1423:1458)=idg(1378:1413)+zab*hdg(1045:1080)
psp(1459:1485)=idg(1423:1449)+zab*hdg(1081:1107)
psp(1486:1503)=idg(1459:1476)+zab*hdg(1108:1125)
psp(1504:1512)=idg(1486:1494)+zab*hdg(1126:1134)
psp(1513:1566)=idg(1270:1323)+yab*hdg(946:999)
psp(1567:1611)=idg(1333:1377)+yab*hdg(1000:1044)
psp(1612:1647)=idg(1387:1422)+yab*hdg(1045:1080)
psp(1648:1674)=idg(1432:1458)+yab*hdg(1081:1107)
psp(1675:1692)=idg(1468:1485)+yab*hdg(1108:1125)
psp(1693:1701)=idg(1495:1503)+yab*hdg(1126:1134)
psp(1702:1890)=idg(1324:1512)+xab*hdg(946:1134)
sp(1:189)=psp(568:756)*(-0.79056941504209476967d0)+psp(1513:1701)*
$2.37170824512628453107d0
sp(190:378)=psp(946:1134)*3.87298334620741657730d0
sp(379:567)=psp(190:378)*2.44948974278317788134d0+psp(568:756)*(-0
$.61237243569579447033d0)+psp(1513:1701)*(-0.61237243569579447033d0
$)
sp(568:756)=psp(1:189)+psp(379:567)*(-1.50000000000000000000d0)+ps
$p(1324:1512)*(-1.50000000000000000000d0)
sp(757:945)=psp(757:945)*2.44948974278317788134d0+psp(1135:1323)*(
$-0.61237243569579447033d0)+psp(1702:1890)*(-0.61237243569579447033
$d0)
sp(946:1134)=psp(379:567)*(-1.93649167310370828865d0)+psp(1324:151
$2)*1.93649167310370828865d0
sp(1135:1323)=psp(1135:1323)*(-2.37170824512628453107d0)+psp(1702:
$1890)*0.79056941504209476967d0
do ji=0,6
ki=ji*189
jk=ji*9
do ii=0,20
k=ii*9
il=ii*63
do ik=1,9
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:63)=psp(316:378)*0.70156076002011391601d0+psp(883:945)*(-7.01
$560760020113871605d0)+psp(1198:1260)*3.50780380010056935802d0
sp(64:126)=psp(568:630)*(-8.87411967464942463835d0)+psp(1009:1071)
$*8.87411967464942463835d0
sp(127:189)=psp(190:252)*(-4.18330013267037692515d0)+psp(316:378)*
$0.52291251658379711564d0+psp(757:819)*12.54990039801113255180d0+ps
$p(883:945)*(-1.04582503316759423129d0)+psp(1198:1260)*(-1.56873754
$975139156898d0)
sp(190:252)=psp(442:504)*10.24695076595959974952d0+psp(568:630)*(-
$5.12347538297979987476d0)+psp(1009:1071)*(-5.12347538297979987476d
$0)
sp(253:315)=psp(64:126)*3.87298334620741613321d0+psp(190:252)*(-5.
$80947501931112419982d0)+psp(316:378)*0.48412291827592701665d0+psp(
$757:819)*(-5.80947501931112419982d0)+psp(883:945)*0.96824583655185
$403330d0+psp(1198:1260)*0.48412291827592701665d0
sp(316:378)=psp(1:63)+psp(127:189)*(-5.00000000000000000000d0)+psp
$(253:315)*1.87500000000000000000d0+psp(694:756)*(-5.00000000000000
$000000d0)+psp(820:882)*3.75000000000000000000d0+psp(1135:1197)*1.8
$7500000000000000000d0
sp(379:441)=psp(379:441)*3.87298334620741613321d0+psp(505:567)*(-5
$.80947501931112419982d0)+psp(631:693)*0.48412291827592701665d0+psp
$(946:1008)*(-5.80947501931112419982d0)+psp(1072:1134)*0.9682458365
$5185403330d0+psp(1261:1323)*0.48412291827592701665d0
sp(442:504)=psp(127:189)*(-5.12347538297979987476d0)+psp(253:315)*
$2.56173769148989993738d0+psp(694:756)*5.12347538297979987476d0+psp
$(1135:1197)*(-2.56173769148989993738d0)
sp(505:567)=psp(505:567)*(-12.54990039801113255180d0)+psp(631:693)
$*1.56873754975139156898d0+psp(946:1008)*4.18330013267037692515d0+p
$sp(1072:1134)*1.04582503316759423129d0+psp(1261:1323)*(-0.52291251
$658379711564d0)
sp(568:630)=psp(253:315)*2.21852991866235615959d0+psp(820:882)*(-1
$3.31117951197413695752d0)+psp(1135:1197)*2.21852991866235615959d0
sp(631:693)=psp(631:693)*3.50780380010056935802d0+psp(1072:1134)*(
$-7.01560760020113871605d0)+psp(1261:1323)*0.70156076002011391601d0
return
end
subroutine hrrspher_hfh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(2310),psp(2730)
real*8 hph(693),iph(924),kph(1188),hdh(1386),idh(1848),xab,yab,zab
sp(1:130)=psp(651:780)*0.70156076002011391601d0+psp(1821:1950)*(-7
$.01560760020113871605d0)+psp(2471:2600)*3.50780380010056935802d0
sp(131:260)=psp(1171:1300)*(-8.87411967464942463835d0)+psp(2081:22
$10)*8.87411967464942463835d0
sp(261:390)=psp(391:520)*(-4.18330013267037692515d0)+psp(651:780)*
$0.52291251658379711564d0+psp(1561:1690)*12.54990039801113255180d0+
$psp(1821:1950)*(-1.04582503316759423129d0)+psp(2471:2600)*(-1.5687
$3754975139156898d0)
sp(391:520)=psp(911:1040)*10.24695076595959974952d0+psp(1171:1300)
$*(-5.12347538297979987476d0)+psp(2081:2210)*(-5.123475382979799874
$76d0)
sp(521:650)=psp(131:260)*3.87298334620741613321d0+psp(391:520)*(-5
$.80947501931112419982d0)+psp(651:780)*0.48412291827592701665d0+psp
$(1561:1690)*(-5.80947501931112419982d0)+psp(1821:1950)*0.968245836
$55185403330d0+psp(2471:2600)*0.48412291827592701665d0
sp(651:780)=psp(1:130)+psp(261:390)*(-5.00000000000000000000d0)+ps
$p(521:650)*1.87500000000000000000d0+psp(1431:1560)*(-5.00000000000
$000000000d0)+psp(1691:1820)*3.75000000000000000000d0+psp(2341:2470
$)*1.87500000000000000000d0
sp(781:910)=psp(781:910)*3.87298334620741613321d0+psp(1041:1170)*(
$-5.80947501931112419982d0)+psp(1301:1430)*0.48412291827592701665d0
$+psp(1951:2080)*(-5.80947501931112419982d0)+psp(2211:2340)*0.96824
$583655185403330d0+psp(2601:2730)*0.48412291827592701665d0
sp(911:1040)=psp(261:390)*(-5.12347538297979987476d0)+psp(521:650)
$*2.56173769148989993738d0+psp(1431:1560)*5.12347538297979987476d0+
$psp(2341:2470)*(-2.56173769148989993738d0)
sp(1041:1170)=psp(1041:1170)*(-12.54990039801113255180d0)+psp(1301
$:1430)*1.56873754975139156898d0+psp(1951:2080)*4.18330013267037692
$515d0+psp(2211:2340)*1.04582503316759423129d0+psp(2601:2730)*(-0.5
$2291251658379711564d0)
sp(1171:1300)=psp(521:650)*2.21852991866235615959d0+psp(1691:1820)
$*(-13.31117951197413695752d0)+psp(2341:2470)*2.2185299186623561595
$9d0
sp(1301:1430)=psp(1301:1430)*3.50780380010056935802d0+psp(2211:234
$0)*(-7.01560760020113871605d0)+psp(2601:2730)*0.701560760020113916
$01d0
do ii=1,11
ji=(ii-1)*130
do ki=1,130
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
hph(1:66)=psp(232:297)+zab*psp(1:66)
hph(67:121)=psp(309:363)+zab*psp(67:121)
hph(122:165)=psp(375:418)+zab*psp(122:165)
hph(166:198)=psp(430:462)+zab*psp(166:198)
hph(199:220)=psp(474:495)+zab*psp(199:220)
hph(221:231)=psp(507:517)+zab*psp(221:231)
hph(232:297)=psp(243:308)+yab*psp(1:66)
hph(298:352)=psp(320:374)+yab*psp(67:121)
hph(353:396)=psp(386:429)+yab*psp(122:165)
hph(397:429)=psp(441:473)+yab*psp(166:198)
hph(430:451)=psp(485:506)+yab*psp(199:220)
hph(452:462)=psp(518:528)+yab*psp(221:231)
hph(463:693)=psp(309:539)+xab*psp(1:231)
iph(1:77)=psp(540:616)+zab*psp(232:308)
iph(78:143)=psp(628:693)+zab*psp(309:374)
iph(144:198)=psp(705:759)+zab*psp(375:429)
iph(199:242)=psp(771:814)+zab*psp(430:473)
iph(243:275)=psp(826:858)+zab*psp(474:506)
iph(276:297)=psp(870:891)+zab*psp(507:528)
iph(298:308)=psp(903:913)+zab*psp(529:539)
iph(309:385)=psp(551:627)+yab*psp(232:308)
iph(386:451)=psp(639:704)+yab*psp(309:374)
iph(452:506)=psp(716:770)+yab*psp(375:429)
iph(507:550)=psp(782:825)+yab*psp(430:473)
iph(551:583)=psp(837:869)+yab*psp(474:506)
iph(584:605)=psp(881:902)+yab*psp(507:528)
iph(606:616)=psp(914:924)+yab*psp(529:539)
iph(617:924)=psp(628:935)+xab*psp(232:539)
kph(1:88)=psp(936:1023)+zab*psp(540:627)
kph(89:165)=psp(1035:1111)+zab*psp(628:704)
kph(166:231)=psp(1123:1188)+zab*psp(705:770)
kph(232:286)=psp(1200:1254)+zab*psp(771:825)
kph(287:330)=psp(1266:1309)+zab*psp(826:869)
kph(331:363)=psp(1321:1353)+zab*psp(870:902)
kph(364:385)=psp(1365:1386)+zab*psp(903:924)
kph(386:396)=psp(1398:1408)+zab*psp(925:935)
kph(397:484)=psp(947:1034)+yab*psp(540:627)
kph(485:561)=psp(1046:1122)+yab*psp(628:704)
kph(562:627)=psp(1134:1199)+yab*psp(705:770)
kph(628:682)=psp(1211:1265)+yab*psp(771:825)
kph(683:726)=psp(1277:1320)+yab*psp(826:869)
kph(727:759)=psp(1332:1364)+yab*psp(870:902)
kph(760:781)=psp(1376:1397)+yab*psp(903:924)
kph(782:792)=psp(1409:1419)+yab*psp(925:935)
kph(793:1188)=psp(1035:1430)+xab*psp(540:935)
hdh(1:66)=iph(1:66)+zab*hph(1:66)
hdh(67:121)=iph(78:132)+zab*hph(67:121)
hdh(122:165)=iph(144:187)+zab*hph(122:165)
hdh(166:198)=iph(199:231)+zab*hph(166:198)
hdh(199:220)=iph(243:264)+zab*hph(199:220)
hdh(221:231)=iph(276:286)+zab*hph(221:231)
hdh(463:528)=iph(320:385)+yab*hph(232:297)
hdh(529:583)=iph(397:451)+yab*hph(298:352)
hdh(584:627)=iph(463:506)+yab*hph(353:396)
hdh(628:660)=iph(518:550)+yab*hph(397:429)
hdh(661:682)=iph(562:583)+yab*hph(430:451)
hdh(683:693)=iph(595:605)+yab*hph(452:462)
hdh(925:990)=iph(628:693)+yab*hph(463:528)
hdh(991:1045)=iph(705:759)+yab*hph(529:583)
hdh(1046:1089)=iph(771:814)+yab*hph(584:627)
hdh(1090:1122)=iph(826:858)+yab*hph(628:660)
hdh(1123:1144)=iph(870:891)+yab*hph(661:682)
hdh(1145:1155)=iph(903:913)+yab*hph(683:693)
hdh(1156:1386)=iph(694:924)+xab*hph(463:693)
idh(1:77)=kph(1:77)+zab*iph(1:77)
idh(78:143)=kph(89:154)+zab*iph(78:143)
idh(144:198)=kph(166:220)+zab*iph(144:198)
idh(199:242)=kph(232:275)+zab*iph(199:242)
idh(243:275)=kph(287:319)+zab*iph(243:275)
idh(276:297)=kph(331:352)+zab*iph(276:297)
idh(298:308)=kph(364:374)+zab*iph(298:308)
idh(617:693)=kph(408:484)+yab*iph(309:385)
idh(694:759)=kph(496:561)+yab*iph(386:451)
idh(760:814)=kph(573:627)+yab*iph(452:506)
idh(815:858)=kph(639:682)+yab*iph(507:550)
idh(859:891)=kph(694:726)+yab*iph(551:583)
idh(892:913)=kph(738:759)+yab*iph(584:605)
idh(914:924)=kph(771:781)+yab*iph(606:616)
idh(1233:1309)=kph(804:880)+yab*iph(617:693)
idh(1310:1375)=kph(892:957)+yab*iph(694:759)
idh(1376:1430)=kph(969:1023)+yab*iph(760:814)
idh(1431:1474)=kph(1035:1078)+yab*iph(815:858)
idh(1475:1507)=kph(1090:1122)+yab*iph(859:891)
idh(1508:1529)=kph(1134:1155)+yab*iph(892:913)
idh(1530:1540)=kph(1167:1177)+yab*iph(914:924)
idh(1541:1848)=kph(881:1188)+xab*iph(617:924)
psp(1:66)=idh(1:66)+zab*hdh(1:66)
psp(67:121)=idh(78:132)+zab*hdh(67:121)
psp(122:165)=idh(144:187)+zab*hdh(122:165)
psp(166:198)=idh(199:231)+zab*hdh(166:198)
psp(199:220)=idh(243:264)+zab*hdh(199:220)
psp(221:231)=idh(276:286)+zab*hdh(221:231)
psp(232:297)=idh(12:77)+yab*hdh(1:66)
psp(298:352)=idh(89:143)+yab*hdh(67:121)
psp(353:396)=idh(155:198)+yab*hdh(122:165)
psp(397:429)=idh(210:242)+yab*hdh(166:198)
psp(430:451)=idh(254:275)+yab*hdh(199:220)
psp(452:462)=idh(287:297)+yab*hdh(221:231)
psp(463:528)=idh(617:682)+zab*hdh(463:528)
psp(529:583)=idh(694:748)+zab*hdh(529:583)
psp(584:627)=idh(760:803)+zab*hdh(584:627)
psp(628:660)=idh(815:847)+zab*hdh(628:660)
psp(661:682)=idh(859:880)+zab*hdh(661:682)
psp(683:693)=idh(892:902)+zab*hdh(683:693)
psp(694:759)=idh(628:693)+yab*hdh(463:528)
psp(760:814)=idh(705:759)+yab*hdh(529:583)
psp(815:858)=idh(771:814)+yab*hdh(584:627)
psp(859:891)=idh(826:858)+yab*hdh(628:660)
psp(892:913)=idh(870:891)+yab*hdh(661:682)
psp(914:924)=idh(903:913)+yab*hdh(683:693)
psp(925:1155)=idh(78:308)+xab*hdh(1:231)
psp(1156:1221)=idh(1233:1298)+zab*hdh(925:990)
psp(1222:1276)=idh(1310:1364)+zab*hdh(991:1045)
psp(1277:1320)=idh(1376:1419)+zab*hdh(1046:1089)
psp(1321:1353)=idh(1431:1463)+zab*hdh(1090:1122)
psp(1354:1375)=idh(1475:1496)+zab*hdh(1123:1144)
psp(1376:1386)=idh(1508:1518)+zab*hdh(1145:1155)
psp(1387:1617)=idh(694:924)+xab*hdh(463:693)
psp(1618:1683)=idh(1541:1606)+zab*hdh(1156:1221)
psp(1684:1738)=idh(1618:1672)+zab*hdh(1222:1276)
psp(1739:1782)=idh(1684:1727)+zab*hdh(1277:1320)
psp(1783:1815)=idh(1739:1771)+zab*hdh(1321:1353)
psp(1816:1837)=idh(1783:1804)+zab*hdh(1354:1375)
psp(1838:1848)=idh(1816:1826)+zab*hdh(1376:1386)
psp(1849:1914)=idh(1552:1617)+yab*hdh(1156:1221)
psp(1915:1969)=idh(1629:1683)+yab*hdh(1222:1276)
psp(1970:2013)=idh(1695:1738)+yab*hdh(1277:1320)
psp(2014:2046)=idh(1750:1782)+yab*hdh(1321:1353)
psp(2047:2068)=idh(1794:1815)+yab*hdh(1354:1375)
psp(2069:2079)=idh(1827:1837)+yab*hdh(1376:1386)
psp(2080:2310)=idh(1618:1848)+xab*hdh(1156:1386)
sp(1:231)=psp(694:924)*(-0.79056941504209476967d0)+psp(1849:2079)*
$2.37170824512628453107d0
sp(232:462)=psp(1156:1386)*3.87298334620741657730d0
sp(463:693)=psp(232:462)*2.44948974278317788134d0+psp(694:924)*(-0
$.61237243569579447033d0)+psp(1849:2079)*(-0.61237243569579447033d0
$)
sp(694:924)=psp(1:231)+psp(463:693)*(-1.50000000000000000000d0)+ps
$p(1618:1848)*(-1.50000000000000000000d0)
sp(925:1155)=psp(925:1155)*2.44948974278317788134d0+psp(1387:1617)
$*(-0.61237243569579447033d0)+psp(2080:2310)*(-0.612372435695794470
$33d0)
sp(1156:1386)=psp(463:693)*(-1.93649167310370828865d0)+psp(1618:18
$48)*1.93649167310370828865d0
sp(1387:1617)=psp(1387:1617)*(-2.37170824512628453107d0)+psp(2080:
$2310)*0.79056941504209476967d0
do ji=0,6
ki=ji*231
jk=ji*11
do ii=0,20
k=ii*11
il=ii*77
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:77)=psp(386:462)*0.70156076002011391601d0+psp(1079:1155)*(-7.
$01560760020113871605d0)+psp(1464:1540)*3.50780380010056935802d0
sp(78:154)=psp(694:770)*(-8.87411967464942463835d0)+psp(1233:1309)
$*8.87411967464942463835d0
sp(155:231)=psp(232:308)*(-4.18330013267037692515d0)+psp(386:462)*
$0.52291251658379711564d0+psp(925:1001)*12.54990039801113255180d0+p
$sp(1079:1155)*(-1.04582503316759423129d0)+psp(1464:1540)*(-1.56873
$754975139156898d0)
sp(232:308)=psp(540:616)*10.24695076595959974952d0+psp(694:770)*(-
$5.12347538297979987476d0)+psp(1233:1309)*(-5.12347538297979987476d
$0)
sp(309:385)=psp(78:154)*3.87298334620741613321d0+psp(232:308)*(-5.
$80947501931112419982d0)+psp(386:462)*0.48412291827592701665d0+psp(
$925:1001)*(-5.80947501931112419982d0)+psp(1079:1155)*0.96824583655
$185403330d0+psp(1464:1540)*0.48412291827592701665d0
sp(386:462)=psp(1:77)+psp(155:231)*(-5.00000000000000000000d0)+psp
$(309:385)*1.87500000000000000000d0+psp(848:924)*(-5.00000000000000
$000000d0)+psp(1002:1078)*3.75000000000000000000d0+psp(1387:1463)*1
$.87500000000000000000d0
sp(463:539)=psp(463:539)*3.87298334620741613321d0+psp(617:693)*(-5
$.80947501931112419982d0)+psp(771:847)*0.48412291827592701665d0+psp
$(1156:1232)*(-5.80947501931112419982d0)+psp(1310:1386)*0.968245836
$55185403330d0+psp(1541:1617)*0.48412291827592701665d0
sp(540:616)=psp(155:231)*(-5.12347538297979987476d0)+psp(309:385)*
$2.56173769148989993738d0+psp(848:924)*5.12347538297979987476d0+psp
$(1387:1463)*(-2.56173769148989993738d0)
sp(617:693)=psp(617:693)*(-12.54990039801113255180d0)+psp(771:847)
$*1.56873754975139156898d0+psp(1156:1232)*4.18330013267037692515d0+
$psp(1310:1386)*1.04582503316759423129d0+psp(1541:1617)*(-0.5229125
$1658379711564d0)
sp(694:770)=psp(309:385)*2.21852991866235615959d0+psp(1002:1078)*(
$-13.31117951197413695752d0)+psp(1387:1463)*2.21852991866235615959d
$0
sp(771:847)=psp(771:847)*3.50780380010056935802d0+psp(1310:1386)*(
$-7.01560760020113871605d0)+psp(1541:1617)*0.70156076002011391601d0
return
end
subroutine hrrspher_hfi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(2730),psp(3640)
real*8 hpi(819),ipi(1092),kpi(1404),hdi(1638),idi(2184),xab,yab,za
$b
sp(1:130)=psp(1561:1690)*4.03015973628837986809d0+psp(2731:2860)*(
$-13.43386578762789973496d0)+psp(3381:3510)*4.03015973628837986809d
$0
sp(131:260)=psp(651:780)*2.32681380862329012515d0+psp(2081:2210)*(
$-23.26813808623289858701d0)+psp(2991:3120)*11.63406904311639955552
$d0
sp(261:390)=psp(1301:1430)*(-19.84313483298440061731d0)+psp(1561:1
$690)*1.98431348329843992850d0+psp(2471:2600)*19.843134832984400617
$31d0+psp(3381:3510)*(-1.98431348329843992850d0)
sp(391:520)=psp(391:520)*(-7.24568837309471991404d0)+psp(651:780)*
$2.71713313991052007879d0+psp(1821:1950)*21.73706511928419971014d0+
$psp(2081:2210)*(-5.43426627982104015757d0)+psp(2991:3120)*(-8.1513
$9941973155934818d0)
sp(521:650)=psp(1041:1170)*14.49137674618940074822d0+psp(1301:1430
$)*(-14.49137674618940074822d0)+psp(1561:1690)*0.905711046636839989
$25d0+psp(2471:2600)*(-14.49137674618940074822d0)+psp(2731:2860)*1.
$81142209327367997851d0+psp(3381:3510)*0.90571104663683998925d0
sp(651:780)=psp(131:260)*4.58257569495583982899d0+psp(391:520)*(-1
$1.45643923738959912839d0)+psp(651:780)*2.86410980934739978210d0+ps
$p(1821:1950)*(-11.45643923738959912839d0)+psp(2081:2210)*5.7282196
$1869479956420d0+psp(2991:3120)*2.86410980934739978210d0
sp(781:910)=psp(1:130)+psp(261:390)*(-7.50000000000000000000d0)+ps
$p(521:650)*5.62500000000000000000d0+psp(781:910)*(-0.3125000000000
$0000000d0)+psp(1691:1820)*(-7.50000000000000000000d0)+psp(1951:208
$0)*11.25000000000000000000d0+psp(2211:2340)*(-0.937500000000000000
$00d0)+psp(2861:2990)*5.62500000000000000000d0+psp(3121:3250)*(-0.9
$3750000000000000000d0)+psp(3511:3640)*(-0.31250000000000000000d0)
sp(911:1040)=psp(911:1040)*4.58257569495583982899d0+psp(1171:1300)
$*(-11.45643923738959912839d0)+psp(1431:1560)*2.8641098093473997821
$0d0+psp(2341:2470)*(-11.45643923738959912839d0)+psp(2601:2730)*5.7
$2821961869479956420d0+psp(3251:3380)*2.86410980934739978210d0
sp(1041:1170)=psp(261:390)*(-7.24568837309471991404d0)+psp(521:650
$)*7.24568837309471991404d0+psp(781:910)*(-0.45285552331841999463d0
$)+psp(1691:1820)*7.24568837309471991404d0+psp(2211:2340)*(-0.45285
$552331841999463d0)+psp(2861:2990)*(-7.24568837309471991404d0)+psp(
$3121:3250)*0.45285552331841999463d0+psp(3511:3640)*0.4528555233184
$1999463d0
sp(1171:1300)=psp(1171:1300)*(-21.73706511928419971014d0)+psp(1431
$:1560)*8.15139941973155934818d0+psp(2341:2470)*7.24568837309471991
$404d0+psp(2601:2730)*5.43426627982104015757d0+psp(3251:3380)*(-2.7
$1713313991052007879d0)
sp(1301:1430)=psp(521:650)*4.96078370824610992429d0+psp(781:910)*(
$-0.49607837082461098133d0)+psp(1951:2080)*(-29.7647022494765991496
$0d0)+psp(2211:2340)*2.48039185412305007716d0+psp(2861:2990)*4.9607
$8370824610992429d0+psp(3121:3250)*2.48039185412305007716d0+psp(351
$1:3640)*(-0.49607837082461098133d0)
sp(1431:1560)=psp(1431:1560)*11.63406904311639955552d0+psp(2601:27
$30)*(-23.26813808623289858701d0)+psp(3251:3380)*2.3268138086232901
$2515d0
sp(1561:1690)=psp(781:910)*(-0.67169328938139605256d0)+psp(2211:23
$40)*10.07539934072089948813d0+psp(3121:3250)*(-10.0753993407208994
$8813d0)+psp(3511:3640)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*130
do ki=1,130
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
hpi(1:78)=psp(274:351)+zab*psp(1:78)
hpi(79:143)=psp(365:429)+zab*psp(79:143)
hpi(144:195)=psp(443:494)+zab*psp(144:195)
hpi(196:234)=psp(508:546)+zab*psp(196:234)
hpi(235:260)=psp(560:585)+zab*psp(235:260)
hpi(261:273)=psp(599:611)+zab*psp(261:273)
hpi(274:351)=psp(287:364)+yab*psp(1:78)
hpi(352:416)=psp(378:442)+yab*psp(79:143)
hpi(417:468)=psp(456:507)+yab*psp(144:195)
hpi(469:507)=psp(521:559)+yab*psp(196:234)
hpi(508:533)=psp(573:598)+yab*psp(235:260)
hpi(534:546)=psp(612:624)+yab*psp(261:273)
hpi(547:819)=psp(365:637)+xab*psp(1:273)
ipi(1:91)=psp(638:728)+zab*psp(274:364)
ipi(92:169)=psp(742:819)+zab*psp(365:442)
ipi(170:234)=psp(833:897)+zab*psp(443:507)
ipi(235:286)=psp(911:962)+zab*psp(508:559)
ipi(287:325)=psp(976:1014)+zab*psp(560:598)
ipi(326:351)=psp(1028:1053)+zab*psp(599:624)
ipi(352:364)=psp(1067:1079)+zab*psp(625:637)
ipi(365:455)=psp(651:741)+yab*psp(274:364)
ipi(456:533)=psp(755:832)+yab*psp(365:442)
ipi(534:598)=psp(846:910)+yab*psp(443:507)
ipi(599:650)=psp(924:975)+yab*psp(508:559)
ipi(651:689)=psp(989:1027)+yab*psp(560:598)
ipi(690:715)=psp(1041:1066)+yab*psp(599:624)
ipi(716:728)=psp(1080:1092)+yab*psp(625:637)
ipi(729:1092)=psp(742:1105)+xab*psp(274:637)
kpi(1:104)=psp(1106:1209)+zab*psp(638:741)
kpi(105:195)=psp(1223:1313)+zab*psp(742:832)
kpi(196:273)=psp(1327:1404)+zab*psp(833:910)
kpi(274:338)=psp(1418:1482)+zab*psp(911:975)
kpi(339:390)=psp(1496:1547)+zab*psp(976:1027)
kpi(391:429)=psp(1561:1599)+zab*psp(1028:1066)
kpi(430:455)=psp(1613:1638)+zab*psp(1067:1092)
kpi(456:468)=psp(1652:1664)+zab*psp(1093:1105)
kpi(469:572)=psp(1119:1222)+yab*psp(638:741)
kpi(573:663)=psp(1236:1326)+yab*psp(742:832)
kpi(664:741)=psp(1340:1417)+yab*psp(833:910)
kpi(742:806)=psp(1431:1495)+yab*psp(911:975)
kpi(807:858)=psp(1509:1560)+yab*psp(976:1027)
kpi(859:897)=psp(1574:1612)+yab*psp(1028:1066)
kpi(898:923)=psp(1626:1651)+yab*psp(1067:1092)
kpi(924:936)=psp(1665:1677)+yab*psp(1093:1105)
kpi(937:1404)=psp(1223:1690)+xab*psp(638:1105)
hdi(1:78)=ipi(1:78)+zab*hpi(1:78)
hdi(79:143)=ipi(92:156)+zab*hpi(79:143)
hdi(144:195)=ipi(170:221)+zab*hpi(144:195)
hdi(196:234)=ipi(235:273)+zab*hpi(196:234)
hdi(235:260)=ipi(287:312)+zab*hpi(235:260)
hdi(261:273)=ipi(326:338)+zab*hpi(261:273)
hdi(547:624)=ipi(378:455)+yab*hpi(274:351)
hdi(625:689)=ipi(469:533)+yab*hpi(352:416)
hdi(690:741)=ipi(547:598)+yab*hpi(417:468)
hdi(742:780)=ipi(612:650)+yab*hpi(469:507)
hdi(781:806)=ipi(664:689)+yab*hpi(508:533)
hdi(807:819)=ipi(703:715)+yab*hpi(534:546)
hdi(1093:1170)=ipi(742:819)+yab*hpi(547:624)
hdi(1171:1235)=ipi(833:897)+yab*hpi(625:689)
hdi(1236:1287)=ipi(911:962)+yab*hpi(690:741)
hdi(1288:1326)=ipi(976:1014)+yab*hpi(742:780)
hdi(1327:1352)=ipi(1028:1053)+yab*hpi(781:806)
hdi(1353:1365)=ipi(1067:1079)+yab*hpi(807:819)
hdi(1366:1638)=ipi(820:1092)+xab*hpi(547:819)
idi(1:91)=kpi(1:91)+zab*ipi(1:91)
idi(92:169)=kpi(105:182)+zab*ipi(92:169)
idi(170:234)=kpi(196:260)+zab*ipi(170:234)
idi(235:286)=kpi(274:325)+zab*ipi(235:286)
idi(287:325)=kpi(339:377)+zab*ipi(287:325)
idi(326:351)=kpi(391:416)+zab*ipi(326:351)
idi(352:364)=kpi(430:442)+zab*ipi(352:364)
idi(729:819)=kpi(482:572)+yab*ipi(365:455)
idi(820:897)=kpi(586:663)+yab*ipi(456:533)
idi(898:962)=kpi(677:741)+yab*ipi(534:598)
idi(963:1014)=kpi(755:806)+yab*ipi(599:650)
idi(1015:1053)=kpi(820:858)+yab*ipi(651:689)
idi(1054:1079)=kpi(872:897)+yab*ipi(690:715)
idi(1080:1092)=kpi(911:923)+yab*ipi(716:728)
idi(1457:1547)=kpi(950:1040)+yab*ipi(729:819)
idi(1548:1625)=kpi(1054:1131)+yab*ipi(820:897)
idi(1626:1690)=kpi(1145:1209)+yab*ipi(898:962)
idi(1691:1742)=kpi(1223:1274)+yab*ipi(963:1014)
idi(1743:1781)=kpi(1288:1326)+yab*ipi(1015:1053)
idi(1782:1807)=kpi(1340:1365)+yab*ipi(1054:1079)
idi(1808:1820)=kpi(1379:1391)+yab*ipi(1080:1092)
idi(1821:2184)=kpi(1041:1404)+xab*ipi(729:1092)
psp(1:78)=idi(1:78)+zab*hdi(1:78)
psp(79:143)=idi(92:156)+zab*hdi(79:143)
psp(144:195)=idi(170:221)+zab*hdi(144:195)
psp(196:234)=idi(235:273)+zab*hdi(196:234)
psp(235:260)=idi(287:312)+zab*hdi(235:260)
psp(261:273)=idi(326:338)+zab*hdi(261:273)
psp(274:351)=idi(14:91)+yab*hdi(1:78)
psp(352:416)=idi(105:169)+yab*hdi(79:143)
psp(417:468)=idi(183:234)+yab*hdi(144:195)
psp(469:507)=idi(248:286)+yab*hdi(196:234)
psp(508:533)=idi(300:325)+yab*hdi(235:260)
psp(534:546)=idi(339:351)+yab*hdi(261:273)
psp(547:624)=idi(729:806)+zab*hdi(547:624)
psp(625:689)=idi(820:884)+zab*hdi(625:689)
psp(690:741)=idi(898:949)+zab*hdi(690:741)
psp(742:780)=idi(963:1001)+zab*hdi(742:780)
psp(781:806)=idi(1015:1040)+zab*hdi(781:806)
psp(807:819)=idi(1054:1066)+zab*hdi(807:819)
psp(820:897)=idi(742:819)+yab*hdi(547:624)
psp(898:962)=idi(833:897)+yab*hdi(625:689)
psp(963:1014)=idi(911:962)+yab*hdi(690:741)
psp(1015:1053)=idi(976:1014)+yab*hdi(742:780)
psp(1054:1079)=idi(1028:1053)+yab*hdi(781:806)
psp(1080:1092)=idi(1067:1079)+yab*hdi(807:819)
psp(1093:1365)=idi(92:364)+xab*hdi(1:273)
psp(1366:1443)=idi(1457:1534)+zab*hdi(1093:1170)
psp(1444:1508)=idi(1548:1612)+zab*hdi(1171:1235)
psp(1509:1560)=idi(1626:1677)+zab*hdi(1236:1287)
psp(1561:1599)=idi(1691:1729)+zab*hdi(1288:1326)
psp(1600:1625)=idi(1743:1768)+zab*hdi(1327:1352)
psp(1626:1638)=idi(1782:1794)+zab*hdi(1353:1365)
psp(1639:1911)=idi(820:1092)+xab*hdi(547:819)
psp(1912:1989)=idi(1821:1898)+zab*hdi(1366:1443)
psp(1990:2054)=idi(1912:1976)+zab*hdi(1444:1508)
psp(2055:2106)=idi(1990:2041)+zab*hdi(1509:1560)
psp(2107:2145)=idi(2055:2093)+zab*hdi(1561:1599)
psp(2146:2171)=idi(2107:2132)+zab*hdi(1600:1625)
psp(2172:2184)=idi(2146:2158)+zab*hdi(1626:1638)
psp(2185:2262)=idi(1834:1911)+yab*hdi(1366:1443)
psp(2263:2327)=idi(1925:1989)+yab*hdi(1444:1508)
psp(2328:2379)=idi(2003:2054)+yab*hdi(1509:1560)
psp(2380:2418)=idi(2068:2106)+yab*hdi(1561:1599)
psp(2419:2444)=idi(2120:2145)+yab*hdi(1600:1625)
psp(2445:2457)=idi(2159:2171)+yab*hdi(1626:1638)
psp(2458:2730)=idi(1912:2184)+xab*hdi(1366:1638)
sp(1:273)=psp(820:1092)*(-0.79056941504209476967d0)+psp(2185:2457)
$*2.37170824512628453107d0
sp(274:546)=psp(1366:1638)*3.87298334620741657730d0
sp(547:819)=psp(274:546)*2.44948974278317788134d0+psp(820:1092)*(-
$0.61237243569579447033d0)+psp(2185:2457)*(-0.61237243569579447033d
$0)
sp(820:1092)=psp(1:273)+psp(547:819)*(-1.50000000000000000000d0)+p
$sp(1912:2184)*(-1.50000000000000000000d0)
sp(1093:1365)=psp(1093:1365)*2.44948974278317788134d0+psp(1639:191
$1)*(-0.61237243569579447033d0)+psp(2458:2730)*(-0.6123724356957944
$7033d0)
sp(1366:1638)=psp(547:819)*(-1.93649167310370828865d0)+psp(1912:21
$84)*1.93649167310370828865d0
sp(1639:1911)=psp(1639:1911)*(-2.37170824512628453107d0)+psp(2458:
$2730)*0.79056941504209476967d0
do ji=0,6
ki=ji*273
jk=ji*13
do ii=0,20
k=ii*13
il=ii*91
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:91)=psp(456:546)*0.70156076002011391601d0+psp(1275:1365)*(-7.
$01560760020113871605d0)+psp(1730:1820)*3.50780380010056935802d0
sp(92:182)=psp(820:910)*(-8.87411967464942463835d0)+psp(1457:1547)
$*8.87411967464942463835d0
sp(183:273)=psp(274:364)*(-4.18330013267037692515d0)+psp(456:546)*
$0.52291251658379711564d0+psp(1093:1183)*12.54990039801113255180d0+
$psp(1275:1365)*(-1.04582503316759423129d0)+psp(1730:1820)*(-1.5687
$3754975139156898d0)
sp(274:364)=psp(638:728)*10.24695076595959974952d0+psp(820:910)*(-
$5.12347538297979987476d0)+psp(1457:1547)*(-5.12347538297979987476d
$0)
sp(365:455)=psp(92:182)*3.87298334620741613321d0+psp(274:364)*(-5.
$80947501931112419982d0)+psp(456:546)*0.48412291827592701665d0+psp(
$1093:1183)*(-5.80947501931112419982d0)+psp(1275:1365)*0.9682458365
$5185403330d0+psp(1730:1820)*0.48412291827592701665d0
sp(456:546)=psp(1:91)+psp(183:273)*(-5.00000000000000000000d0)+psp
$(365:455)*1.87500000000000000000d0+psp(1002:1092)*(-5.000000000000
$00000000d0)+psp(1184:1274)*3.75000000000000000000d0+psp(1639:1729)
$*1.87500000000000000000d0
sp(547:637)=psp(547:637)*3.87298334620741613321d0+psp(729:819)*(-5
$.80947501931112419982d0)+psp(911:1001)*0.48412291827592701665d0+ps
$p(1366:1456)*(-5.80947501931112419982d0)+psp(1548:1638)*0.96824583
$655185403330d0+psp(1821:1911)*0.48412291827592701665d0
sp(638:728)=psp(183:273)*(-5.12347538297979987476d0)+psp(365:455)*
$2.56173769148989993738d0+psp(1002:1092)*5.12347538297979987476d0+p
$sp(1639:1729)*(-2.56173769148989993738d0)
sp(729:819)=psp(729:819)*(-12.54990039801113255180d0)+psp(911:1001
$)*1.56873754975139156898d0+psp(1366:1456)*4.18330013267037692515d0
$+psp(1548:1638)*1.04582503316759423129d0+psp(1821:1911)*(-0.522912
$51658379711564d0)
sp(820:910)=psp(365:455)*2.21852991866235615959d0+psp(1184:1274)*(
$-13.31117951197413695752d0)+psp(1639:1729)*2.21852991866235615959d
$0
sp(911:1001)=psp(911:1001)*3.50780380010056935802d0+psp(1548:1638)
$*(-7.01560760020113871605d0)+psp(1821:1911)*0.70156076002011391601
$d0
return
end
subroutine hrrspher_hgs_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(315),psp(185)
real*8 psp2(315)
real*8 hps(63),ips(84),kps(108),lps(135),hds(126),ids(168),kds(216
$),hfs(210),ifs(280),xab,yab,zab
hps(1:6)=psp(22:27)+zab*psp(1:6)
hps(7:11)=psp(29:33)+zab*psp(7:11)
hps(12:15)=psp(35:38)+zab*psp(12:15)
hps(16:18)=psp(40:42)+zab*psp(16:18)
hps(19:20)=psp(44:45)+zab*psp(19:20)
hps(21)=psp(47)+zab*psp(21)
hps(22:27)=psp(23:28)+yab*psp(1:6)
hps(28:32)=psp(30:34)+yab*psp(7:11)
hps(33:36)=psp(36:39)+yab*psp(12:15)
hps(37:39)=psp(41:43)+yab*psp(16:18)
hps(40:41)=psp(45:46)+yab*psp(19:20)
hps(42)=psp(48)+yab*psp(21)
hps(43:63)=psp(29:49)+xab*psp(1:21)
ips(1:7)=psp(50:56)+zab*psp(22:28)
ips(8:13)=psp(58:63)+zab*psp(29:34)
ips(14:18)=psp(65:69)+zab*psp(35:39)
ips(19:22)=psp(71:74)+zab*psp(40:43)
ips(23:25)=psp(76:78)+zab*psp(44:46)
ips(26:27)=psp(80:81)+zab*psp(47:48)
ips(28)=psp(83)+zab*psp(49)
ips(29:35)=psp(51:57)+yab*psp(22:28)
ips(36:41)=psp(59:64)+yab*psp(29:34)
ips(42:46)=psp(66:70)+yab*psp(35:39)
ips(47:50)=psp(72:75)+yab*psp(40:43)
ips(51:53)=psp(77:79)+yab*psp(44:46)
ips(54:55)=psp(81:82)+yab*psp(47:48)
ips(56)=psp(84)+yab*psp(49)
ips(57:84)=psp(58:85)+xab*psp(22:49)
kps(1:8)=psp(86:93)+zab*psp(50:57)
kps(9:15)=psp(95:101)+zab*psp(58:64)
kps(16:21)=psp(103:108)+zab*psp(65:70)
kps(22:26)=psp(110:114)+zab*psp(71:75)
kps(27:30)=psp(116:119)+zab*psp(76:79)
kps(31:33)=psp(121:123)+zab*psp(80:82)
kps(34:35)=psp(125:126)+zab*psp(83:84)
kps(36)=psp(128)+zab*psp(85)
kps(37:44)=psp(87:94)+yab*psp(50:57)
kps(45:51)=psp(96:102)+yab*psp(58:64)
kps(52:57)=psp(104:109)+yab*psp(65:70)
kps(58:62)=psp(111:115)+yab*psp(71:75)
kps(63:66)=psp(117:120)+yab*psp(76:79)
kps(67:69)=psp(122:124)+yab*psp(80:82)
kps(70:71)=psp(126:127)+yab*psp(83:84)
kps(72)=psp(129)+yab*psp(85)
kps(73:108)=psp(95:130)+xab*psp(50:85)
lps(1:9)=psp(131:139)+zab*psp(86:94)
lps(10:17)=psp(141:148)+zab*psp(95:102)
lps(18:24)=psp(150:156)+zab*psp(103:109)
lps(25:30)=psp(158:163)+zab*psp(110:115)
lps(31:35)=psp(165:169)+zab*psp(116:120)
lps(36:39)=psp(171:174)+zab*psp(121:124)
lps(40:42)=psp(176:178)+zab*psp(125:127)
lps(43:44)=psp(180:181)+zab*psp(128:129)
lps(45)=psp(183)+zab*psp(130)
lps(46:54)=psp(132:140)+yab*psp(86:94)
lps(55:62)=psp(142:149)+yab*psp(95:102)
lps(63:69)=psp(151:157)+yab*psp(103:109)
lps(70:75)=psp(159:164)+yab*psp(110:115)
lps(76:80)=psp(166:170)+yab*psp(116:120)
lps(81:84)=psp(172:175)+yab*psp(121:124)
lps(85:87)=psp(177:179)+yab*psp(125:127)
lps(88:89)=psp(181:182)+yab*psp(128:129)
lps(90)=psp(184)+yab*psp(130)
lps(91:135)=psp(141:185)+xab*psp(86:130)
hds(1:6)=ips(1:6)+zab*hps(1:6)
hds(7:11)=ips(8:12)+zab*hps(7:11)
hds(12:15)=ips(14:17)+zab*hps(12:15)
hds(16:18)=ips(19:21)+zab*hps(16:18)
hds(19:20)=ips(23:24)+zab*hps(19:20)
hds(21)=ips(26)+zab*hps(21)
hds(43:48)=ips(30:35)+yab*hps(22:27)
hds(49:53)=ips(37:41)+yab*hps(28:32)
hds(54:57)=ips(43:46)+yab*hps(33:36)
hds(58:60)=ips(48:50)+yab*hps(37:39)
hds(61:62)=ips(52:53)+yab*hps(40:41)
hds(63)=ips(55)+yab*hps(42)
hds(106:126)=ips(64:84)+xab*hps(43:63)
ids(1:7)=kps(1:7)+zab*ips(1:7)
ids(8:13)=kps(9:14)+zab*ips(8:13)
ids(14:18)=kps(16:20)+zab*ips(14:18)
ids(19:22)=kps(22:25)+zab*ips(19:22)
ids(23:25)=kps(27:29)+zab*ips(23:25)
ids(26:27)=kps(31:32)+zab*ips(26:27)
ids(28)=kps(34)+zab*ips(28)
ids(57:63)=kps(38:44)+yab*ips(29:35)
ids(64:69)=kps(46:51)+yab*ips(36:41)
ids(70:74)=kps(53:57)+yab*ips(42:46)
ids(75:78)=kps(59:62)+yab*ips(47:50)
ids(79:81)=kps(64:66)+yab*ips(51:53)
ids(82:83)=kps(68:69)+yab*ips(54:55)
ids(84)=kps(71)+yab*ips(56)
ids(141:168)=kps(81:108)+xab*ips(57:84)
kds(1:8)=lps(1:8)+zab*kps(1:8)
kds(9:15)=lps(10:16)+zab*kps(9:15)
kds(16:21)=lps(18:23)+zab*kps(16:21)
kds(22:26)=lps(25:29)+zab*kps(22:26)
kds(27:30)=lps(31:34)+zab*kps(27:30)
kds(31:33)=lps(36:38)+zab*kps(31:33)
kds(34:35)=lps(40:41)+zab*kps(34:35)
kds(36)=lps(43)+zab*kps(36)
kds(73:80)=lps(47:54)+yab*kps(37:44)
kds(81:87)=lps(56:62)+yab*kps(45:51)
kds(88:93)=lps(64:69)+yab*kps(52:57)
kds(94:98)=lps(71:75)+yab*kps(58:62)
kds(99:102)=lps(77:80)+yab*kps(63:66)
kds(103:105)=lps(82:84)+yab*kps(67:69)
kds(106:107)=lps(86:87)+yab*kps(70:71)
kds(108)=lps(89)+yab*kps(72)
kds(181:216)=lps(100:135)+xab*kps(73:108)
hfs(1:6)=ids(1:6)+zab*hds(1:6)
hfs(7:11)=ids(8:12)+zab*hds(7:11)
hfs(12:15)=ids(14:17)+zab*hds(12:15)
hfs(16:18)=ids(19:21)+zab*hds(16:18)
hfs(19:20)=ids(23:24)+zab*hds(19:20)
hfs(21)=ids(26)+zab*hds(21)
hfs(22:27)=ids(2:7)+yab*hds(1:6)
hfs(28:32)=ids(9:13)+yab*hds(7:11)
hfs(33:36)=ids(15:18)+yab*hds(12:15)
hfs(37:39)=ids(20:22)+yab*hds(16:18)
hfs(40:41)=ids(24:25)+yab*hds(19:20)
hfs(42)=ids(27)+yab*hds(21)
hfs(64:69)=ids(58:63)+yab*hds(43:48)
hfs(70:74)=ids(65:69)+yab*hds(49:53)
hfs(75:78)=ids(71:74)+yab*hds(54:57)
hfs(79:81)=ids(76:78)+yab*hds(58:60)
hfs(82:83)=ids(80:81)+yab*hds(61:62)
hfs(84)=ids(83)+yab*hds(63)
hfs(127:147)=ids(64:84)+xab*hds(43:63)
hfs(148:153)=ids(141:146)+zab*hds(106:111)
hfs(154:158)=ids(148:152)+zab*hds(112:116)
hfs(159:162)=ids(154:157)+zab*hds(117:120)
hfs(163:165)=ids(159:161)+zab*hds(121:123)
hfs(166:167)=ids(163:164)+zab*hds(124:125)
hfs(168)=ids(166)+zab*hds(126)
hfs(190:210)=ids(148:168)+xab*hds(106:126)
ifs(1:7)=kds(1:7)+zab*ids(1:7)
ifs(8:13)=kds(9:14)+zab*ids(8:13)
ifs(14:18)=kds(16:20)+zab*ids(14:18)
ifs(19:22)=kds(22:25)+zab*ids(19:22)
ifs(23:25)=kds(27:29)+zab*ids(23:25)
ifs(26:27)=kds(31:32)+zab*ids(26:27)
ifs(28)=kds(34)+zab*ids(28)
ifs(29:35)=kds(2:8)+yab*ids(1:7)
ifs(36:41)=kds(10:15)+yab*ids(8:13)
ifs(42:46)=kds(17:21)+yab*ids(14:18)
ifs(47:50)=kds(23:26)+yab*ids(19:22)
ifs(51:53)=kds(28:30)+yab*ids(23:25)
ifs(54:55)=kds(32:33)+yab*ids(26:27)
ifs(56)=kds(35)+yab*ids(28)
ifs(85:91)=kds(74:80)+yab*ids(57:63)
ifs(92:97)=kds(82:87)+yab*ids(64:69)
ifs(98:102)=kds(89:93)+yab*ids(70:74)
ifs(103:106)=kds(95:98)+yab*ids(75:78)
ifs(107:109)=kds(100:102)+yab*ids(79:81)
ifs(110:111)=kds(104:105)+yab*ids(82:83)
ifs(112)=kds(107)+yab*ids(84)
ifs(169:196)=kds(81:108)+xab*ids(57:84)
ifs(197:203)=kds(181:187)+zab*ids(141:147)
ifs(204:209)=kds(189:194)+zab*ids(148:153)
ifs(210:214)=kds(196:200)+zab*ids(154:158)
ifs(215:218)=kds(202:205)+zab*ids(159:162)
ifs(219:221)=kds(207:209)+zab*ids(163:165)
ifs(222:223)=kds(211:212)+zab*ids(166:167)
ifs(224)=kds(214)+zab*ids(168)
ifs(253:280)=kds(189:216)+xab*ids(141:168)
psp2(1:6)=ifs(1:6)+zab*hfs(1:6)
psp2(7:11)=ifs(8:12)+zab*hfs(7:11)
psp2(12:15)=ifs(14:17)+zab*hfs(12:15)
psp2(16:18)=ifs(19:21)+zab*hfs(16:18)
psp2(19:20)=ifs(23:24)+zab*hfs(19:20)
psp2(21)=ifs(26)+zab*hfs(21)
psp2(22:27)=ifs(2:7)+yab*hfs(1:6)
psp2(28:32)=ifs(9:13)+yab*hfs(7:11)
psp2(33:36)=ifs(15:18)+yab*hfs(12:15)
psp2(37:39)=ifs(20:22)+yab*hfs(16:18)
psp2(40:41)=ifs(24:25)+yab*hfs(19:20)
psp2(42)=ifs(27)+yab*hfs(21)
psp2(43:48)=ifs(30:35)+yab*hfs(22:27)
psp2(49:53)=ifs(37:41)+yab*hfs(28:32)
psp2(54:57)=ifs(43:46)+yab*hfs(33:36)
psp2(58:60)=ifs(48:50)+yab*hfs(37:39)
psp2(61:62)=ifs(52:53)+yab*hfs(40:41)
psp2(63)=ifs(55)+yab*hfs(42)
psp2(64:69)=ifs(85:90)+zab*hfs(64:69)
psp2(70:74)=ifs(92:96)+zab*hfs(70:74)
psp2(75:78)=ifs(98:101)+zab*hfs(75:78)
psp2(79:81)=ifs(103:105)+zab*hfs(79:81)
psp2(82:83)=ifs(107:108)+zab*hfs(82:83)
psp2(84)=ifs(110)+zab*hfs(84)
psp2(85:90)=ifs(86:91)+yab*hfs(64:69)
psp2(91:95)=ifs(93:97)+yab*hfs(70:74)
psp2(96:99)=ifs(99:102)+yab*hfs(75:78)
psp2(100:102)=ifs(104:106)+yab*hfs(79:81)
psp2(103:104)=ifs(108:109)+yab*hfs(82:83)
psp2(105)=ifs(111)+yab*hfs(84)
psp2(106:126)=ifs(8:28)+xab*hfs(1:21)
psp2(127:147)=ifs(36:56)+xab*hfs(22:42)
psp2(148:153)=ifs(169:174)+zab*hfs(127:132)
psp2(154:158)=ifs(176:180)+zab*hfs(133:137)
psp2(159:162)=ifs(182:185)+zab*hfs(138:141)
psp2(163:165)=ifs(187:189)+zab*hfs(142:144)
psp2(166:167)=ifs(191:192)+zab*hfs(145:146)
psp2(168)=ifs(194)+zab*hfs(147)
psp2(169:189)=ifs(92:112)+xab*hfs(64:84)
psp2(190:195)=ifs(197:202)+zab*hfs(148:153)
psp2(196:200)=ifs(204:208)+zab*hfs(154:158)
psp2(201:204)=ifs(210:213)+zab*hfs(159:162)
psp2(205:207)=ifs(215:217)+zab*hfs(163:165)
psp2(208:209)=ifs(219:220)+zab*hfs(166:167)
psp2(210)=ifs(222)+zab*hfs(168)
psp2(211:216)=ifs(198:203)+yab*hfs(148:153)
psp2(217:221)=ifs(205:209)+yab*hfs(154:158)
psp2(222:225)=ifs(211:214)+yab*hfs(159:162)
psp2(226:228)=ifs(216:218)+yab*hfs(163:165)
psp2(229:230)=ifs(220:221)+yab*hfs(166:167)
psp2(231)=ifs(223)+yab*hfs(168)
psp2(232:252)=ifs(176:196)+xab*hfs(127:147)
psp2(253:258)=ifs(253:258)+zab*hfs(190:195)
psp2(259:263)=ifs(260:264)+zab*hfs(196:200)
psp2(264:267)=ifs(266:269)+zab*hfs(201:204)
psp2(268:270)=ifs(271:273)+zab*hfs(205:207)
psp2(271:272)=ifs(275:276)+zab*hfs(208:209)
psp2(273)=ifs(278)+zab*hfs(210)
psp2(274:279)=ifs(254:259)+yab*hfs(190:195)
psp2(280:284)=ifs(261:265)+yab*hfs(196:200)
psp2(285:288)=ifs(267:270)+yab*hfs(201:204)
psp2(289:291)=ifs(272:274)+yab*hfs(205:207)
psp2(292:293)=ifs(276:277)+yab*hfs(208:209)
psp2(294)=ifs(279)+yab*hfs(210)
psp2(295:315)=ifs(260:280)+xab*hfs(190:210)
sp(1:21)=psp2(169:189)*(-2.95803989154980806475d0)+psp2(274:294)*2
$.95803989154980806475d0
sp(22:42)=psp2(64:84)*(-2.09165006633518890666d0)+psp2(211:231)*6.
$27495019900556627590d0
sp(43:63)=psp2(127:147)*6.70820393249936941515d0+psp2(169:189)*(-1
$.11803398874989490253d0)+psp2(274:294)*(-1.11803398874989490253d0)
sp(64:84)=psp2(22:42)*3.16227766016837907870d0+psp2(64:84)*(-2.371
$70824512628453107d0)+psp2(211:231)*(-2.37170824512628453107d0)
sp(85:105)=psp2(1:21)+psp2(43:63)*(-3.00000000000000000000d0)+psp2
$(85:105)*0.37500000000000000000d0+psp2(190:210)*(-3.00000000000000
$000000d0)+psp2(232:252)*0.75000000000000000000d0+psp2(295:315)*0.3
$7500000000000000000d0
sp(106:126)=psp2(106:126)*3.16227766016837907870d0+psp2(148:168)*(
$-2.37170824512628453107d0)+psp2(253:273)*(-2.37170824512628453107d
$0)
sp(127:147)=psp2(43:63)*(-3.35410196624968470758d0)+psp2(85:105)*0
$.55901699437494745126d0+psp2(190:210)*3.35410196624968470758d0+psp
$2(295:315)*(-0.55901699437494745126d0)
sp(148:168)=psp2(148:168)*(-6.27495019900556627590d0)+psp2(253:273
$)*2.09165006633518890666d0
sp(169:189)=psp2(85:105)*0.73950997288745201619d0+psp2(232:252)*(-
$4.43705983732471231917d0)+psp2(295:315)*0.73950997288745201619d0
do ji=1,21
ii=(ji-1)*9
do ki=1,9
psp2(ii+ki)=sp((ki-1)*21+ji)
enddo
enddo
sp(1:9)=psp2(46:54)*0.70156076002011391601d0+psp2(127:135)*(-7.015
$60760020113871605d0)+psp2(172:180)*3.50780380010056935802d0
sp(10:18)=psp2(82:90)*(-8.87411967464942463835d0)+psp2(145:153)*8.
$87411967464942463835d0
sp(19:27)=psp2(28:36)*(-4.18330013267037692515d0)+psp2(46:54)*0.52
$291251658379711564d0+psp2(109:117)*12.54990039801113255180d0+psp2(
$127:135)*(-1.04582503316759423129d0)+psp2(172:180)*(-1.56873754975
$139156898d0)
sp(28:36)=psp2(64:72)*10.24695076595959974952d0+psp2(82:90)*(-5.12
$347538297979987476d0)+psp2(145:153)*(-5.12347538297979987476d0)
sp(37:45)=psp2(10:18)*3.87298334620741613321d0+psp2(28:36)*(-5.809
$47501931112419982d0)+psp2(46:54)*0.48412291827592701665d0+psp2(109
$:117)*(-5.80947501931112419982d0)+psp2(127:135)*0.9682458365518540
$3330d0+psp2(172:180)*0.48412291827592701665d0
sp(46:54)=psp2(1:9)+psp2(19:27)*(-5.00000000000000000000d0)+psp2(3
$7:45)*1.87500000000000000000d0+psp2(100:108)*(-5.00000000000000000
$000d0)+psp2(118:126)*3.75000000000000000000d0+psp2(163:171)*1.8750
$0000000000000000d0
sp(55:63)=psp2(55:63)*3.87298334620741613321d0+psp2(73:81)*(-5.809
$47501931112419982d0)+psp2(91:99)*0.48412291827592701665d0+psp2(136
$:144)*(-5.80947501931112419982d0)+psp2(154:162)*0.9682458365518540
$3330d0+psp2(181:189)*0.48412291827592701665d0
sp(64:72)=psp2(19:27)*(-5.12347538297979987476d0)+psp2(37:45)*2.56
$173769148989993738d0+psp2(100:108)*5.12347538297979987476d0+psp2(1
$63:171)*(-2.56173769148989993738d0)
sp(73:81)=psp2(73:81)*(-12.54990039801113255180d0)+psp2(91:99)*1.5
$6873754975139156898d0+psp2(136:144)*4.18330013267037692515d0+psp2(
$154:162)*1.04582503316759423129d0+psp2(181:189)*(-0.52291251658379
$711564d0)
sp(82:90)=psp2(37:45)*2.21852991866235615959d0+psp2(118:126)*(-13.
$31117951197413695752d0)+psp2(163:171)*2.21852991866235615959d0
sp(91:99)=psp2(91:99)*3.50780380010056935802d0+psp2(154:162)*(-7.0
$1560760020113871605d0)+psp2(181:189)*0.70156076002011391601d0
return
end
subroutine hrrspher_hgp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(945),psp(555)
real*8 psp2(945)
real*8 hpp(189),ipp(252),kpp(324),lpp(405),hdp(378),idp(504),kdp(6
$48),hfp(630),ifp(840),xab,yab,zab
hpp(1:18)=psp(64:81)+zab*psp(1:18)
hpp(19:33)=psp(85:99)+zab*psp(19:33)
hpp(34:45)=psp(103:114)+zab*psp(34:45)
hpp(46:54)=psp(118:126)+zab*psp(46:54)
hpp(55:60)=psp(130:135)+zab*psp(55:60)
hpp(61:63)=psp(139:141)+zab*psp(61:63)
hpp(64:81)=psp(67:84)+yab*psp(1:18)
hpp(82:96)=psp(88:102)+yab*psp(19:33)
hpp(97:108)=psp(106:117)+yab*psp(34:45)
hpp(109:117)=psp(121:129)+yab*psp(46:54)
hpp(118:123)=psp(133:138)+yab*psp(55:60)
hpp(124:126)=psp(142:144)+yab*psp(61:63)
hpp(127:189)=psp(85:147)+xab*psp(1:63)
ipp(1:21)=psp(148:168)+zab*psp(64:84)
ipp(22:39)=psp(172:189)+zab*psp(85:102)
ipp(40:54)=psp(193:207)+zab*psp(103:117)
ipp(55:66)=psp(211:222)+zab*psp(118:129)
ipp(67:75)=psp(226:234)+zab*psp(130:138)
ipp(76:81)=psp(238:243)+zab*psp(139:144)
ipp(82:84)=psp(247:249)+zab*psp(145:147)
ipp(85:105)=psp(151:171)+yab*psp(64:84)
ipp(106:123)=psp(175:192)+yab*psp(85:102)
ipp(124:138)=psp(196:210)+yab*psp(103:117)
ipp(139:150)=psp(214:225)+yab*psp(118:129)
ipp(151:159)=psp(229:237)+yab*psp(130:138)
ipp(160:165)=psp(241:246)+yab*psp(139:144)
ipp(166:168)=psp(250:252)+yab*psp(145:147)
ipp(169:252)=psp(172:255)+xab*psp(64:147)
kpp(1:24)=psp(256:279)+zab*psp(148:171)
kpp(25:45)=psp(283:303)+zab*psp(172:192)
kpp(46:63)=psp(307:324)+zab*psp(193:210)
kpp(64:78)=psp(328:342)+zab*psp(211:225)
kpp(79:90)=psp(346:357)+zab*psp(226:237)
kpp(91:99)=psp(361:369)+zab*psp(238:246)
kpp(100:105)=psp(373:378)+zab*psp(247:252)
kpp(106:108)=psp(382:384)+zab*psp(253:255)
kpp(109:132)=psp(259:282)+yab*psp(148:171)
kpp(133:153)=psp(286:306)+yab*psp(172:192)
kpp(154:171)=psp(310:327)+yab*psp(193:210)
kpp(172:186)=psp(331:345)+yab*psp(211:225)
kpp(187:198)=psp(349:360)+yab*psp(226:237)
kpp(199:207)=psp(364:372)+yab*psp(238:246)
kpp(208:213)=psp(376:381)+yab*psp(247:252)
kpp(214:216)=psp(385:387)+yab*psp(253:255)
kpp(217:324)=psp(283:390)+xab*psp(148:255)
lpp(1:27)=psp(391:417)+zab*psp(256:282)
lpp(28:51)=psp(421:444)+zab*psp(283:306)
lpp(52:72)=psp(448:468)+zab*psp(307:327)
lpp(73:90)=psp(472:489)+zab*psp(328:345)
lpp(91:105)=psp(493:507)+zab*psp(346:360)
lpp(106:117)=psp(511:522)+zab*psp(361:372)
lpp(118:126)=psp(526:534)+zab*psp(373:381)
lpp(127:132)=psp(538:543)+zab*psp(382:387)
lpp(133:135)=psp(547:549)+zab*psp(388:390)
lpp(136:162)=psp(394:420)+yab*psp(256:282)
lpp(163:186)=psp(424:447)+yab*psp(283:306)
lpp(187:207)=psp(451:471)+yab*psp(307:327)
lpp(208:225)=psp(475:492)+yab*psp(328:345)
lpp(226:240)=psp(496:510)+yab*psp(346:360)
lpp(241:252)=psp(514:525)+yab*psp(361:372)
lpp(253:261)=psp(529:537)+yab*psp(373:381)
lpp(262:267)=psp(541:546)+yab*psp(382:387)
lpp(268:270)=psp(550:552)+yab*psp(388:390)
lpp(271:405)=psp(421:555)+xab*psp(256:390)
hdp(1:18)=ipp(1:18)+zab*hpp(1:18)
hdp(19:33)=ipp(22:36)+zab*hpp(19:33)
hdp(34:45)=ipp(40:51)+zab*hpp(34:45)
hdp(46:54)=ipp(55:63)+zab*hpp(46:54)
hdp(55:60)=ipp(67:72)+zab*hpp(55:60)
hdp(61:63)=ipp(76:78)+zab*hpp(61:63)
hdp(127:144)=ipp(88:105)+yab*hpp(64:81)
hdp(145:159)=ipp(109:123)+yab*hpp(82:96)
hdp(160:171)=ipp(127:138)+yab*hpp(97:108)
hdp(172:180)=ipp(142:150)+yab*hpp(109:117)
hdp(181:186)=ipp(154:159)+yab*hpp(118:123)
hdp(187:189)=ipp(163:165)+yab*hpp(124:126)
hdp(316:378)=ipp(190:252)+xab*hpp(127:189)
idp(1:21)=kpp(1:21)+zab*ipp(1:21)
idp(22:39)=kpp(25:42)+zab*ipp(22:39)
idp(40:54)=kpp(46:60)+zab*ipp(40:54)
idp(55:66)=kpp(64:75)+zab*ipp(55:66)
idp(67:75)=kpp(79:87)+zab*ipp(67:75)
idp(76:81)=kpp(91:96)+zab*ipp(76:81)
idp(82:84)=kpp(100:102)+zab*ipp(82:84)
idp(169:189)=kpp(112:132)+yab*ipp(85:105)
idp(190:207)=kpp(136:153)+yab*ipp(106:123)
idp(208:222)=kpp(157:171)+yab*ipp(124:138)
idp(223:234)=kpp(175:186)+yab*ipp(139:150)
idp(235:243)=kpp(190:198)+yab*ipp(151:159)
idp(244:249)=kpp(202:207)+yab*ipp(160:165)
idp(250:252)=kpp(211:213)+yab*ipp(166:168)
idp(421:504)=kpp(241:324)+xab*ipp(169:252)
kdp(1:24)=lpp(1:24)+zab*kpp(1:24)
kdp(25:45)=lpp(28:48)+zab*kpp(25:45)
kdp(46:63)=lpp(52:69)+zab*kpp(46:63)
kdp(64:78)=lpp(73:87)+zab*kpp(64:78)
kdp(79:90)=lpp(91:102)+zab*kpp(79:90)
kdp(91:99)=lpp(106:114)+zab*kpp(91:99)
kdp(100:105)=lpp(118:123)+zab*kpp(100:105)
kdp(106:108)=lpp(127:129)+zab*kpp(106:108)
kdp(217:240)=lpp(139:162)+yab*kpp(109:132)
kdp(241:261)=lpp(166:186)+yab*kpp(133:153)
kdp(262:279)=lpp(190:207)+yab*kpp(154:171)
kdp(280:294)=lpp(211:225)+yab*kpp(172:186)
kdp(295:306)=lpp(229:240)+yab*kpp(187:198)
kdp(307:315)=lpp(244:252)+yab*kpp(199:207)
kdp(316:321)=lpp(256:261)+yab*kpp(208:213)
kdp(322:324)=lpp(265:267)+yab*kpp(214:216)
kdp(541:648)=lpp(298:405)+xab*kpp(217:324)
hfp(1:18)=idp(1:18)+zab*hdp(1:18)
hfp(19:33)=idp(22:36)+zab*hdp(19:33)
hfp(34:45)=idp(40:51)+zab*hdp(34:45)
hfp(46:54)=idp(55:63)+zab*hdp(46:54)
hfp(55:60)=idp(67:72)+zab*hdp(55:60)
hfp(61:63)=idp(76:78)+zab*hdp(61:63)
hfp(64:81)=idp(4:21)+yab*hdp(1:18)
hfp(82:96)=idp(25:39)+yab*hdp(19:33)
hfp(97:108)=idp(43:54)+yab*hdp(34:45)
hfp(109:117)=idp(58:66)+yab*hdp(46:54)
hfp(118:123)=idp(70:75)+yab*hdp(55:60)
hfp(124:126)=idp(79:81)+yab*hdp(61:63)
hfp(190:207)=idp(172:189)+yab*hdp(127:144)
hfp(208:222)=idp(193:207)+yab*hdp(145:159)
hfp(223:234)=idp(211:222)+yab*hdp(160:171)
hfp(235:243)=idp(226:234)+yab*hdp(172:180)
hfp(244:249)=idp(238:243)+yab*hdp(181:186)
hfp(250:252)=idp(247:249)+yab*hdp(187:189)
hfp(379:441)=idp(190:252)+xab*hdp(127:189)
hfp(442:459)=idp(421:438)+zab*hdp(316:333)
hfp(460:474)=idp(442:456)+zab*hdp(334:348)
hfp(475:486)=idp(460:471)+zab*hdp(349:360)
hfp(487:495)=idp(475:483)+zab*hdp(361:369)
hfp(496:501)=idp(487:492)+zab*hdp(370:375)
hfp(502:504)=idp(496:498)+zab*hdp(376:378)
hfp(568:630)=idp(442:504)+xab*hdp(316:378)
ifp(1:21)=kdp(1:21)+zab*idp(1:21)
ifp(22:39)=kdp(25:42)+zab*idp(22:39)
ifp(40:54)=kdp(46:60)+zab*idp(40:54)
ifp(55:66)=kdp(64:75)+zab*idp(55:66)
ifp(67:75)=kdp(79:87)+zab*idp(67:75)
ifp(76:81)=kdp(91:96)+zab*idp(76:81)
ifp(82:84)=kdp(100:102)+zab*idp(82:84)
ifp(85:105)=kdp(4:24)+yab*idp(1:21)
ifp(106:123)=kdp(28:45)+yab*idp(22:39)
ifp(124:138)=kdp(49:63)+yab*idp(40:54)
ifp(139:150)=kdp(67:78)+yab*idp(55:66)
ifp(151:159)=kdp(82:90)+yab*idp(67:75)
ifp(160:165)=kdp(94:99)+yab*idp(76:81)
ifp(166:168)=kdp(103:105)+yab*idp(82:84)
ifp(253:273)=kdp(220:240)+yab*idp(169:189)
ifp(274:291)=kdp(244:261)+yab*idp(190:207)
ifp(292:306)=kdp(265:279)+yab*idp(208:222)
ifp(307:318)=kdp(283:294)+yab*idp(223:234)
ifp(319:327)=kdp(298:306)+yab*idp(235:243)
ifp(328:333)=kdp(310:315)+yab*idp(244:249)
ifp(334:336)=kdp(319:321)+yab*idp(250:252)
ifp(505:588)=kdp(241:324)+xab*idp(169:252)
ifp(589:609)=kdp(541:561)+zab*idp(421:441)
ifp(610:627)=kdp(565:582)+zab*idp(442:459)
ifp(628:642)=kdp(586:600)+zab*idp(460:474)
ifp(643:654)=kdp(604:615)+zab*idp(475:486)
ifp(655:663)=kdp(619:627)+zab*idp(487:495)
ifp(664:669)=kdp(631:636)+zab*idp(496:501)
ifp(670:672)=kdp(640:642)+zab*idp(502:504)
ifp(757:840)=kdp(565:648)+xab*idp(421:504)
psp2(1:18)=ifp(1:18)+zab*hfp(1:18)
psp2(19:33)=ifp(22:36)+zab*hfp(19:33)
psp2(34:45)=ifp(40:51)+zab*hfp(34:45)
psp2(46:54)=ifp(55:63)+zab*hfp(46:54)
psp2(55:60)=ifp(67:72)+zab*hfp(55:60)
psp2(61:63)=ifp(76:78)+zab*hfp(61:63)
psp2(64:81)=ifp(4:21)+yab*hfp(1:18)
psp2(82:96)=ifp(25:39)+yab*hfp(19:33)
psp2(97:108)=ifp(43:54)+yab*hfp(34:45)
psp2(109:117)=ifp(58:66)+yab*hfp(46:54)
psp2(118:123)=ifp(70:75)+yab*hfp(55:60)
psp2(124:126)=ifp(79:81)+yab*hfp(61:63)
psp2(127:144)=ifp(88:105)+yab*hfp(64:81)
psp2(145:159)=ifp(109:123)+yab*hfp(82:96)
psp2(160:171)=ifp(127:138)+yab*hfp(97:108)
psp2(172:180)=ifp(142:150)+yab*hfp(109:117)
psp2(181:186)=ifp(154:159)+yab*hfp(118:123)
psp2(187:189)=ifp(163:165)+yab*hfp(124:126)
psp2(190:207)=ifp(253:270)+zab*hfp(190:207)
psp2(208:222)=ifp(274:288)+zab*hfp(208:222)
psp2(223:234)=ifp(292:303)+zab*hfp(223:234)
psp2(235:243)=ifp(307:315)+zab*hfp(235:243)
psp2(244:249)=ifp(319:324)+zab*hfp(244:249)
psp2(250:252)=ifp(328:330)+zab*hfp(250:252)
psp2(253:270)=ifp(256:273)+yab*hfp(190:207)
psp2(271:285)=ifp(277:291)+yab*hfp(208:222)
psp2(286:297)=ifp(295:306)+yab*hfp(223:234)
psp2(298:306)=ifp(310:318)+yab*hfp(235:243)
psp2(307:312)=ifp(322:327)+yab*hfp(244:249)
psp2(313:315)=ifp(331:333)+yab*hfp(250:252)
psp2(316:378)=ifp(22:84)+xab*hfp(1:63)
psp2(379:441)=ifp(106:168)+xab*hfp(64:126)
psp2(442:459)=ifp(505:522)+zab*hfp(379:396)
psp2(460:474)=ifp(526:540)+zab*hfp(397:411)
psp2(475:486)=ifp(544:555)+zab*hfp(412:423)
psp2(487:495)=ifp(559:567)+zab*hfp(424:432)
psp2(496:501)=ifp(571:576)+zab*hfp(433:438)
psp2(502:504)=ifp(580:582)+zab*hfp(439:441)
psp2(505:567)=ifp(274:336)+xab*hfp(190:252)
psp2(568:585)=ifp(589:606)+zab*hfp(442:459)
psp2(586:600)=ifp(610:624)+zab*hfp(460:474)
psp2(601:612)=ifp(628:639)+zab*hfp(475:486)
psp2(613:621)=ifp(643:651)+zab*hfp(487:495)
psp2(622:627)=ifp(655:660)+zab*hfp(496:501)
psp2(628:630)=ifp(664:666)+zab*hfp(502:504)
psp2(631:648)=ifp(592:609)+yab*hfp(442:459)
psp2(649:663)=ifp(613:627)+yab*hfp(460:474)
psp2(664:675)=ifp(631:642)+yab*hfp(475:486)
psp2(676:684)=ifp(646:654)+yab*hfp(487:495)
psp2(685:690)=ifp(658:663)+yab*hfp(496:501)
psp2(691:693)=ifp(667:669)+yab*hfp(502:504)
psp2(694:756)=ifp(526:588)+xab*hfp(379:441)
psp2(757:774)=ifp(757:774)+zab*hfp(568:585)
psp2(775:789)=ifp(778:792)+zab*hfp(586:600)
psp2(790:801)=ifp(796:807)+zab*hfp(601:612)
psp2(802:810)=ifp(811:819)+zab*hfp(613:621)
psp2(811:816)=ifp(823:828)+zab*hfp(622:627)
psp2(817:819)=ifp(832:834)+zab*hfp(628:630)
psp2(820:837)=ifp(760:777)+yab*hfp(568:585)
psp2(838:852)=ifp(781:795)+yab*hfp(586:600)
psp2(853:864)=ifp(799:810)+yab*hfp(601:612)
psp2(865:873)=ifp(814:822)+yab*hfp(613:621)
psp2(874:879)=ifp(826:831)+yab*hfp(622:627)
psp2(880:882)=ifp(835:837)+yab*hfp(628:630)
psp2(883:945)=ifp(778:840)+xab*hfp(568:630)
sp(1:63)=psp2(505:567)*(-2.95803989154980806475d0)+psp2(820:882)*2
$.95803989154980806475d0
sp(64:126)=psp2(190:252)*(-2.09165006633518890666d0)+psp2(631:693)
$*6.27495019900556627590d0
sp(127:189)=psp2(379:441)*6.70820393249936941515d0+psp2(505:567)*(
$-1.11803398874989490253d0)+psp2(820:882)*(-1.11803398874989490253d
$0)
sp(190:252)=psp2(64:126)*3.16227766016837907870d0+psp2(190:252)*(-
$2.37170824512628453107d0)+psp2(631:693)*(-2.37170824512628453107d0
$)
sp(253:315)=psp2(1:63)+psp2(127:189)*(-3.00000000000000000000d0)+p
$sp2(253:315)*0.37500000000000000000d0+psp2(568:630)*(-3.0000000000
$0000000000d0)+psp2(694:756)*0.75000000000000000000d0+psp2(883:945)
$*0.37500000000000000000d0
sp(316:378)=psp2(316:378)*3.16227766016837907870d0+psp2(442:504)*(
$-2.37170824512628453107d0)+psp2(757:819)*(-2.37170824512628453107d
$0)
sp(379:441)=psp2(127:189)*(-3.35410196624968470758d0)+psp2(253:315
$)*0.55901699437494745126d0+psp2(568:630)*3.35410196624968470758d0+
$psp2(883:945)*(-0.55901699437494745126d0)
sp(442:504)=psp2(442:504)*(-6.27495019900556627590d0)+psp2(757:819
$)*2.09165006633518890666d0
sp(505:567)=psp2(253:315)*0.73950997288745201619d0+psp2(694:756)*(
$-4.43705983732471231917d0)+psp2(883:945)*0.73950997288745201619d0
do ji=0,8
ki=ji*63
jk=ji*3
do ii=0,20
k=ii*3
il=ii*27
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:27)=psp2(136:162)*0.70156076002011391601d0+psp2(379:405)*(-7.
$01560760020113871605d0)+psp2(514:540)*3.50780380010056935802d0
sp(28:54)=psp2(244:270)*(-8.87411967464942463835d0)+psp2(433:459)*
$8.87411967464942463835d0
sp(55:81)=psp2(82:108)*(-4.18330013267037692515d0)+psp2(136:162)*0
$.52291251658379711564d0+psp2(325:351)*12.54990039801113255180d0+ps
$p2(379:405)*(-1.04582503316759423129d0)+psp2(514:540)*(-1.56873754
$975139156898d0)
sp(82:108)=psp2(190:216)*10.24695076595959974952d0+psp2(244:270)*(
$-5.12347538297979987476d0)+psp2(433:459)*(-5.12347538297979987476d
$0)
sp(109:135)=psp2(28:54)*3.87298334620741613321d0+psp2(82:108)*(-5.
$80947501931112419982d0)+psp2(136:162)*0.48412291827592701665d0+psp
$2(325:351)*(-5.80947501931112419982d0)+psp2(379:405)*0.96824583655
$185403330d0+psp2(514:540)*0.48412291827592701665d0
sp(136:162)=psp2(1:27)+psp2(55:81)*(-5.00000000000000000000d0)+psp
$2(109:135)*1.87500000000000000000d0+psp2(298:324)*(-5.000000000000
$00000000d0)+psp2(352:378)*3.75000000000000000000d0+psp2(487:513)*1
$.87500000000000000000d0
sp(163:189)=psp2(163:189)*3.87298334620741613321d0+psp2(217:243)*(
$-5.80947501931112419982d0)+psp2(271:297)*0.48412291827592701665d0+
$psp2(406:432)*(-5.80947501931112419982d0)+psp2(460:486)*0.96824583
$655185403330d0+psp2(541:567)*0.48412291827592701665d0
sp(190:216)=psp2(55:81)*(-5.12347538297979987476d0)+psp2(109:135)*
$2.56173769148989993738d0+psp2(298:324)*5.12347538297979987476d0+ps
$p2(487:513)*(-2.56173769148989993738d0)
sp(217:243)=psp2(217:243)*(-12.54990039801113255180d0)+psp2(271:29
$7)*1.56873754975139156898d0+psp2(406:432)*4.18330013267037692515d0
$+psp2(460:486)*1.04582503316759423129d0+psp2(541:567)*(-0.52291251
$658379711564d0)
sp(244:270)=psp2(109:135)*2.21852991866235615959d0+psp2(352:378)*(
$-13.31117951197413695752d0)+psp2(487:513)*2.21852991866235615959d0
sp(271:297)=psp2(271:297)*3.50780380010056935802d0+psp2(460:486)*(
$-7.01560760020113871605d0)+psp2(541:567)*0.70156076002011391601d0
return
end
subroutine hrrspher_hgd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1575),psp(1110)
real*8 psp2(1575)
real*8 hpd(315),ipd(420),kpd(540),lpd(675),hdd(630),idd(840),kdd(1
$080),hfd(1050),ifd(1400),xab,yab,zab
sp(1:185)=psp(741:925)*1.73205080756887697113d0
sp(186:370)=psp(186:370)*1.73205080756887697113d0
sp(371:555)=psp(1:185)+psp(371:555)*(-0.50000000000000000000d0)+ps
$p(926:1110)*(-0.50000000000000000000d0)
sp(556:740)=psp(556:740)*1.73205080756887697113d0
sp(741:925)=psp(371:555)*(-0.86602540378443848557d0)+psp(926:1110)
$*0.86602540378443848557d0
do ii=1,5
ji=(ii-1)*185
do ki=1,185
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
hpd(1:30)=psp(106:135)+zab*psp(1:30)
hpd(31:55)=psp(141:165)+zab*psp(31:55)
hpd(56:75)=psp(171:190)+zab*psp(56:75)
hpd(76:90)=psp(196:210)+zab*psp(76:90)
hpd(91:100)=psp(216:225)+zab*psp(91:100)
hpd(101:105)=psp(231:235)+zab*psp(101:105)
hpd(106:135)=psp(111:140)+yab*psp(1:30)
hpd(136:160)=psp(146:170)+yab*psp(31:55)
hpd(161:180)=psp(176:195)+yab*psp(56:75)
hpd(181:195)=psp(201:215)+yab*psp(76:90)
hpd(196:205)=psp(221:230)+yab*psp(91:100)
hpd(206:210)=psp(236:240)+yab*psp(101:105)
hpd(211:315)=psp(141:245)+xab*psp(1:105)
ipd(1:35)=psp(246:280)+zab*psp(106:140)
ipd(36:65)=psp(286:315)+zab*psp(141:170)
ipd(66:90)=psp(321:345)+zab*psp(171:195)
ipd(91:110)=psp(351:370)+zab*psp(196:215)
ipd(111:125)=psp(376:390)+zab*psp(216:230)
ipd(126:135)=psp(396:405)+zab*psp(231:240)
ipd(136:140)=psp(411:415)+zab*psp(241:245)
ipd(141:175)=psp(251:285)+yab*psp(106:140)
ipd(176:205)=psp(291:320)+yab*psp(141:170)
ipd(206:230)=psp(326:350)+yab*psp(171:195)
ipd(231:250)=psp(356:375)+yab*psp(196:215)
ipd(251:265)=psp(381:395)+yab*psp(216:230)
ipd(266:275)=psp(401:410)+yab*psp(231:240)
ipd(276:280)=psp(416:420)+yab*psp(241:245)
ipd(281:420)=psp(286:425)+xab*psp(106:245)
kpd(1:40)=psp(426:465)+zab*psp(246:285)
kpd(41:75)=psp(471:505)+zab*psp(286:320)
kpd(76:105)=psp(511:540)+zab*psp(321:350)
kpd(106:130)=psp(546:570)+zab*psp(351:375)
kpd(131:150)=psp(576:595)+zab*psp(376:395)
kpd(151:165)=psp(601:615)+zab*psp(396:410)
kpd(166:175)=psp(621:630)+zab*psp(411:420)
kpd(176:180)=psp(636:640)+zab*psp(421:425)
kpd(181:220)=psp(431:470)+yab*psp(246:285)
kpd(221:255)=psp(476:510)+yab*psp(286:320)
kpd(256:285)=psp(516:545)+yab*psp(321:350)
kpd(286:310)=psp(551:575)+yab*psp(351:375)
kpd(311:330)=psp(581:600)+yab*psp(376:395)
kpd(331:345)=psp(606:620)+yab*psp(396:410)
kpd(346:355)=psp(626:635)+yab*psp(411:420)
kpd(356:360)=psp(641:645)+yab*psp(421:425)
kpd(361:540)=psp(471:650)+xab*psp(246:425)
lpd(1:45)=psp(651:695)+zab*psp(426:470)
lpd(46:85)=psp(701:740)+zab*psp(471:510)
lpd(86:120)=psp(746:780)+zab*psp(511:545)
lpd(121:150)=psp(786:815)+zab*psp(546:575)
lpd(151:175)=psp(821:845)+zab*psp(576:600)
lpd(176:195)=psp(851:870)+zab*psp(601:620)
lpd(196:210)=psp(876:890)+zab*psp(621:635)
lpd(211:220)=psp(896:905)+zab*psp(636:645)
lpd(221:225)=psp(911:915)+zab*psp(646:650)
lpd(226:270)=psp(656:700)+yab*psp(426:470)
lpd(271:310)=psp(706:745)+yab*psp(471:510)
lpd(311:345)=psp(751:785)+yab*psp(511:545)
lpd(346:375)=psp(791:820)+yab*psp(546:575)
lpd(376:400)=psp(826:850)+yab*psp(576:600)
lpd(401:420)=psp(856:875)+yab*psp(601:620)
lpd(421:435)=psp(881:895)+yab*psp(621:635)
lpd(436:445)=psp(901:910)+yab*psp(636:645)
lpd(446:450)=psp(916:920)+yab*psp(646:650)
lpd(451:675)=psp(701:925)+xab*psp(426:650)
hdd(1:30)=ipd(1:30)+zab*hpd(1:30)
hdd(31:55)=ipd(36:60)+zab*hpd(31:55)
hdd(56:75)=ipd(66:85)+zab*hpd(56:75)
hdd(76:90)=ipd(91:105)+zab*hpd(76:90)
hdd(91:100)=ipd(111:120)+zab*hpd(91:100)
hdd(101:105)=ipd(126:130)+zab*hpd(101:105)
hdd(211:240)=ipd(146:175)+yab*hpd(106:135)
hdd(241:265)=ipd(181:205)+yab*hpd(136:160)
hdd(266:285)=ipd(211:230)+yab*hpd(161:180)
hdd(286:300)=ipd(236:250)+yab*hpd(181:195)
hdd(301:310)=ipd(256:265)+yab*hpd(196:205)
hdd(311:315)=ipd(271:275)+yab*hpd(206:210)
hdd(526:630)=ipd(316:420)+xab*hpd(211:315)
idd(1:35)=kpd(1:35)+zab*ipd(1:35)
idd(36:65)=kpd(41:70)+zab*ipd(36:65)
idd(66:90)=kpd(76:100)+zab*ipd(66:90)
idd(91:110)=kpd(106:125)+zab*ipd(91:110)
idd(111:125)=kpd(131:145)+zab*ipd(111:125)
idd(126:135)=kpd(151:160)+zab*ipd(126:135)
idd(136:140)=kpd(166:170)+zab*ipd(136:140)
idd(281:315)=kpd(186:220)+yab*ipd(141:175)
idd(316:345)=kpd(226:255)+yab*ipd(176:205)
idd(346:370)=kpd(261:285)+yab*ipd(206:230)
idd(371:390)=kpd(291:310)+yab*ipd(231:250)
idd(391:405)=kpd(316:330)+yab*ipd(251:265)
idd(406:415)=kpd(336:345)+yab*ipd(266:275)
idd(416:420)=kpd(351:355)+yab*ipd(276:280)
idd(701:840)=kpd(401:540)+xab*ipd(281:420)
kdd(1:40)=lpd(1:40)+zab*kpd(1:40)
kdd(41:75)=lpd(46:80)+zab*kpd(41:75)
kdd(76:105)=lpd(86:115)+zab*kpd(76:105)
kdd(106:130)=lpd(121:145)+zab*kpd(106:130)
kdd(131:150)=lpd(151:170)+zab*kpd(131:150)
kdd(151:165)=lpd(176:190)+zab*kpd(151:165)
kdd(166:175)=lpd(196:205)+zab*kpd(166:175)
kdd(176:180)=lpd(211:215)+zab*kpd(176:180)
kdd(361:400)=lpd(231:270)+yab*kpd(181:220)
kdd(401:435)=lpd(276:310)+yab*kpd(221:255)
kdd(436:465)=lpd(316:345)+yab*kpd(256:285)
kdd(466:490)=lpd(351:375)+yab*kpd(286:310)
kdd(491:510)=lpd(381:400)+yab*kpd(311:330)
kdd(511:525)=lpd(406:420)+yab*kpd(331:345)
kdd(526:535)=lpd(426:435)+yab*kpd(346:355)
kdd(536:540)=lpd(441:445)+yab*kpd(356:360)
kdd(901:1080)=lpd(496:675)+xab*kpd(361:540)
hfd(1:30)=idd(1:30)+zab*hdd(1:30)
hfd(31:55)=idd(36:60)+zab*hdd(31:55)
hfd(56:75)=idd(66:85)+zab*hdd(56:75)
hfd(76:90)=idd(91:105)+zab*hdd(76:90)
hfd(91:100)=idd(111:120)+zab*hdd(91:100)
hfd(101:105)=idd(126:130)+zab*hdd(101:105)
hfd(106:135)=idd(6:35)+yab*hdd(1:30)
hfd(136:160)=idd(41:65)+yab*hdd(31:55)
hfd(161:180)=idd(71:90)+yab*hdd(56:75)
hfd(181:195)=idd(96:110)+yab*hdd(76:90)
hfd(196:205)=idd(116:125)+yab*hdd(91:100)
hfd(206:210)=idd(131:135)+yab*hdd(101:105)
hfd(316:345)=idd(286:315)+yab*hdd(211:240)
hfd(346:370)=idd(321:345)+yab*hdd(241:265)
hfd(371:390)=idd(351:370)+yab*hdd(266:285)
hfd(391:405)=idd(376:390)+yab*hdd(286:300)
hfd(406:415)=idd(396:405)+yab*hdd(301:310)
hfd(416:420)=idd(411:415)+yab*hdd(311:315)
hfd(631:735)=idd(316:420)+xab*hdd(211:315)
hfd(736:765)=idd(701:730)+zab*hdd(526:555)
hfd(766:790)=idd(736:760)+zab*hdd(556:580)
hfd(791:810)=idd(766:785)+zab*hdd(581:600)
hfd(811:825)=idd(791:805)+zab*hdd(601:615)
hfd(826:835)=idd(811:820)+zab*hdd(616:625)
hfd(836:840)=idd(826:830)+zab*hdd(626:630)
hfd(946:1050)=idd(736:840)+xab*hdd(526:630)
ifd(1:35)=kdd(1:35)+zab*idd(1:35)
ifd(36:65)=kdd(41:70)+zab*idd(36:65)
ifd(66:90)=kdd(76:100)+zab*idd(66:90)
ifd(91:110)=kdd(106:125)+zab*idd(91:110)
ifd(111:125)=kdd(131:145)+zab*idd(111:125)
ifd(126:135)=kdd(151:160)+zab*idd(126:135)
ifd(136:140)=kdd(166:170)+zab*idd(136:140)
ifd(141:175)=kdd(6:40)+yab*idd(1:35)
ifd(176:205)=kdd(46:75)+yab*idd(36:65)
ifd(206:230)=kdd(81:105)+yab*idd(66:90)
ifd(231:250)=kdd(111:130)+yab*idd(91:110)
ifd(251:265)=kdd(136:150)+yab*idd(111:125)
ifd(266:275)=kdd(156:165)+yab*idd(126:135)
ifd(276:280)=kdd(171:175)+yab*idd(136:140)
ifd(421:455)=kdd(366:400)+yab*idd(281:315)
ifd(456:485)=kdd(406:435)+yab*idd(316:345)
ifd(486:510)=kdd(441:465)+yab*idd(346:370)
ifd(511:530)=kdd(471:490)+yab*idd(371:390)
ifd(531:545)=kdd(496:510)+yab*idd(391:405)
ifd(546:555)=kdd(516:525)+yab*idd(406:415)
ifd(556:560)=kdd(531:535)+yab*idd(416:420)
ifd(841:980)=kdd(401:540)+xab*idd(281:420)
ifd(981:1015)=kdd(901:935)+zab*idd(701:735)
ifd(1016:1045)=kdd(941:970)+zab*idd(736:765)
ifd(1046:1070)=kdd(976:1000)+zab*idd(766:790)
ifd(1071:1090)=kdd(1006:1025)+zab*idd(791:810)
ifd(1091:1105)=kdd(1031:1045)+zab*idd(811:825)
ifd(1106:1115)=kdd(1051:1060)+zab*idd(826:835)
ifd(1116:1120)=kdd(1066:1070)+zab*idd(836:840)
ifd(1261:1400)=kdd(941:1080)+xab*idd(701:840)
psp2(1:30)=ifd(1:30)+zab*hfd(1:30)
psp2(31:55)=ifd(36:60)+zab*hfd(31:55)
psp2(56:75)=ifd(66:85)+zab*hfd(56:75)
psp2(76:90)=ifd(91:105)+zab*hfd(76:90)
psp2(91:100)=ifd(111:120)+zab*hfd(91:100)
psp2(101:105)=ifd(126:130)+zab*hfd(101:105)
psp2(106:135)=ifd(6:35)+yab*hfd(1:30)
psp2(136:160)=ifd(41:65)+yab*hfd(31:55)
psp2(161:180)=ifd(71:90)+yab*hfd(56:75)
psp2(181:195)=ifd(96:110)+yab*hfd(76:90)
psp2(196:205)=ifd(116:125)+yab*hfd(91:100)
psp2(206:210)=ifd(131:135)+yab*hfd(101:105)
psp2(211:240)=ifd(146:175)+yab*hfd(106:135)
psp2(241:265)=ifd(181:205)+yab*hfd(136:160)
psp2(266:285)=ifd(211:230)+yab*hfd(161:180)
psp2(286:300)=ifd(236:250)+yab*hfd(181:195)
psp2(301:310)=ifd(256:265)+yab*hfd(196:205)
psp2(311:315)=ifd(271:275)+yab*hfd(206:210)
psp2(316:345)=ifd(421:450)+zab*hfd(316:345)
psp2(346:370)=ifd(456:480)+zab*hfd(346:370)
psp2(371:390)=ifd(486:505)+zab*hfd(371:390)
psp2(391:405)=ifd(511:525)+zab*hfd(391:405)
psp2(406:415)=ifd(531:540)+zab*hfd(406:415)
psp2(416:420)=ifd(546:550)+zab*hfd(416:420)
psp2(421:450)=ifd(426:455)+yab*hfd(316:345)
psp2(451:475)=ifd(461:485)+yab*hfd(346:370)
psp2(476:495)=ifd(491:510)+yab*hfd(371:390)
psp2(496:510)=ifd(516:530)+yab*hfd(391:405)
psp2(511:520)=ifd(536:545)+yab*hfd(406:415)
psp2(521:525)=ifd(551:555)+yab*hfd(416:420)
psp2(526:630)=ifd(36:140)+xab*hfd(1:105)
psp2(631:735)=ifd(176:280)+xab*hfd(106:210)
psp2(736:765)=ifd(841:870)+zab*hfd(631:660)
psp2(766:790)=ifd(876:900)+zab*hfd(661:685)
psp2(791:810)=ifd(906:925)+zab*hfd(686:705)
psp2(811:825)=ifd(931:945)+zab*hfd(706:720)
psp2(826:835)=ifd(951:960)+zab*hfd(721:730)
psp2(836:840)=ifd(966:970)+zab*hfd(731:735)
psp2(841:945)=ifd(456:560)+xab*hfd(316:420)
psp2(946:975)=ifd(981:1010)+zab*hfd(736:765)
psp2(976:1000)=ifd(1016:1040)+zab*hfd(766:790)
psp2(1001:1020)=ifd(1046:1065)+zab*hfd(791:810)
psp2(1021:1035)=ifd(1071:1085)+zab*hfd(811:825)
psp2(1036:1045)=ifd(1091:1100)+zab*hfd(826:835)
psp2(1046:1050)=ifd(1106:1110)+zab*hfd(836:840)
psp2(1051:1080)=ifd(986:1015)+yab*hfd(736:765)
psp2(1081:1105)=ifd(1021:1045)+yab*hfd(766:790)
psp2(1106:1125)=ifd(1051:1070)+yab*hfd(791:810)
psp2(1126:1140)=ifd(1076:1090)+yab*hfd(811:825)
psp2(1141:1150)=ifd(1096:1105)+yab*hfd(826:835)
psp2(1151:1155)=ifd(1111:1115)+yab*hfd(836:840)
psp2(1156:1260)=ifd(876:980)+xab*hfd(631:735)
psp2(1261:1290)=ifd(1261:1290)+zab*hfd(946:975)
psp2(1291:1315)=ifd(1296:1320)+zab*hfd(976:1000)
psp2(1316:1335)=ifd(1326:1345)+zab*hfd(1001:1020)
psp2(1336:1350)=ifd(1351:1365)+zab*hfd(1021:1035)
psp2(1351:1360)=ifd(1371:1380)+zab*hfd(1036:1045)
psp2(1361:1365)=ifd(1386:1390)+zab*hfd(1046:1050)
psp2(1366:1395)=ifd(1266:1295)+yab*hfd(946:975)
psp2(1396:1420)=ifd(1301:1325)+yab*hfd(976:1000)
psp2(1421:1440)=ifd(1331:1350)+yab*hfd(1001:1020)
psp2(1441:1455)=ifd(1356:1370)+yab*hfd(1021:1035)
psp2(1456:1465)=ifd(1376:1385)+yab*hfd(1036:1045)
psp2(1466:1470)=ifd(1391:1395)+yab*hfd(1046:1050)
psp2(1471:1575)=ifd(1296:1400)+xab*hfd(946:1050)
sp(1:105)=psp2(841:945)*(-2.95803989154980806475d0)+psp2(1366:1470
$)*2.95803989154980806475d0
sp(106:210)=psp2(316:420)*(-2.09165006633518890666d0)+psp2(1051:11
$55)*6.27495019900556627590d0
sp(211:315)=psp2(631:735)*6.70820393249936941515d0+psp2(841:945)*(
$-1.11803398874989490253d0)+psp2(1366:1470)*(-1.1180339887498949025
$3d0)
sp(316:420)=psp2(106:210)*3.16227766016837907870d0+psp2(316:420)*(
$-2.37170824512628453107d0)+psp2(1051:1155)*(-2.3717082451262845310
$7d0)
sp(421:525)=psp2(1:105)+psp2(211:315)*(-3.00000000000000000000d0)+
$psp2(421:525)*0.37500000000000000000d0+psp2(946:1050)*(-3.00000000
$000000000000d0)+psp2(1156:1260)*0.75000000000000000000d0+psp2(1471
$:1575)*0.37500000000000000000d0
sp(526:630)=psp2(526:630)*3.16227766016837907870d0+psp2(736:840)*(
$-2.37170824512628453107d0)+psp2(1261:1365)*(-2.3717082451262845310
$7d0)
sp(631:735)=psp2(211:315)*(-3.35410196624968470758d0)+psp2(421:525
$)*0.55901699437494745126d0+psp2(946:1050)*3.35410196624968470758d0
$+psp2(1471:1575)*(-0.55901699437494745126d0)
sp(736:840)=psp2(736:840)*(-6.27495019900556627590d0)+psp2(1261:13
$65)*2.09165006633518890666d0
sp(841:945)=psp2(421:525)*0.73950997288745201619d0+psp2(1156:1260)
$*(-4.43705983732471231917d0)+psp2(1471:1575)*0.7395099728874520161
$9d0
do ji=0,8
ki=ji*105
jk=ji*5
do ii=0,20
k=ii*5
il=ii*45
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:45)=psp2(226:270)*0.70156076002011391601d0+psp2(631:675)*(-7.
$01560760020113871605d0)+psp2(856:900)*3.50780380010056935802d0
sp(46:90)=psp2(406:450)*(-8.87411967464942463835d0)+psp2(721:765)*
$8.87411967464942463835d0
sp(91:135)=psp2(136:180)*(-4.18330013267037692515d0)+psp2(226:270)
$*0.52291251658379711564d0+psp2(541:585)*12.54990039801113255180d0+
$psp2(631:675)*(-1.04582503316759423129d0)+psp2(856:900)*(-1.568737
$54975139156898d0)
sp(136:180)=psp2(316:360)*10.24695076595959974952d0+psp2(406:450)*
$(-5.12347538297979987476d0)+psp2(721:765)*(-5.12347538297979987476
$d0)
sp(181:225)=psp2(46:90)*3.87298334620741613321d0+psp2(136:180)*(-5
$.80947501931112419982d0)+psp2(226:270)*0.48412291827592701665d0+ps
$p2(541:585)*(-5.80947501931112419982d0)+psp2(631:675)*0.9682458365
$5185403330d0+psp2(856:900)*0.48412291827592701665d0
sp(226:270)=psp2(1:45)+psp2(91:135)*(-5.00000000000000000000d0)+ps
$p2(181:225)*1.87500000000000000000d0+psp2(496:540)*(-5.00000000000
$000000000d0)+psp2(586:630)*3.75000000000000000000d0+psp2(811:855)*
$1.87500000000000000000d0
sp(271:315)=psp2(271:315)*3.87298334620741613321d0+psp2(361:405)*(
$-5.80947501931112419982d0)+psp2(451:495)*0.48412291827592701665d0+
$psp2(676:720)*(-5.80947501931112419982d0)+psp2(766:810)*0.96824583
$655185403330d0+psp2(901:945)*0.48412291827592701665d0
sp(316:360)=psp2(91:135)*(-5.12347538297979987476d0)+psp2(181:225)
$*2.56173769148989993738d0+psp2(496:540)*5.12347538297979987476d0+p
$sp2(811:855)*(-2.56173769148989993738d0)
sp(361:405)=psp2(361:405)*(-12.54990039801113255180d0)+psp2(451:49
$5)*1.56873754975139156898d0+psp2(676:720)*4.18330013267037692515d0
$+psp2(766:810)*1.04582503316759423129d0+psp2(901:945)*(-0.52291251
$658379711564d0)
sp(406:450)=psp2(181:225)*2.21852991866235615959d0+psp2(586:630)*(
$-13.31117951197413695752d0)+psp2(811:855)*2.21852991866235615959d0
sp(451:495)=psp2(451:495)*3.50780380010056935802d0+psp2(766:810)*(
$-7.01560760020113871605d0)+psp2(901:945)*0.70156076002011391601d0
return
end
subroutine hrrspher_hgf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(2205),psp(1850)
real*8 psp2(2205)
real*8 hpf(441),ipf(588),kpf(756),lpf(945),hdf(882),idf(1176),kdf(
$1512),hff(1470),iff(1960),xab,yab,zab
sp(1:185)=psp(556:740)*(-0.79056941504209476967d0)+psp(1481:1665)*
$2.37170824512628453107d0
sp(186:370)=psp(926:1110)*3.87298334620741657730d0
sp(371:555)=psp(186:370)*2.44948974278317788134d0+psp(556:740)*(-0
$.61237243569579447033d0)+psp(1481:1665)*(-0.61237243569579447033d0
$)
sp(556:740)=psp(1:185)+psp(371:555)*(-1.50000000000000000000d0)+ps
$p(1296:1480)*(-1.50000000000000000000d0)
sp(741:925)=psp(741:925)*2.44948974278317788134d0+psp(1111:1295)*(
$-0.61237243569579447033d0)+psp(1666:1850)*(-0.61237243569579447033
$d0)
sp(926:1110)=psp(371:555)*(-1.93649167310370828865d0)+psp(1296:148
$0)*1.93649167310370828865d0
sp(1111:1295)=psp(1111:1295)*(-2.37170824512628453107d0)+psp(1666:
$1850)*0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*185
do ki=1,185
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
hpf(1:42)=psp(148:189)+zab*psp(1:42)
hpf(43:77)=psp(197:231)+zab*psp(43:77)
hpf(78:105)=psp(239:266)+zab*psp(78:105)
hpf(106:126)=psp(274:294)+zab*psp(106:126)
hpf(127:140)=psp(302:315)+zab*psp(127:140)
hpf(141:147)=psp(323:329)+zab*psp(141:147)
hpf(148:189)=psp(155:196)+yab*psp(1:42)
hpf(190:224)=psp(204:238)+yab*psp(43:77)
hpf(225:252)=psp(246:273)+yab*psp(78:105)
hpf(253:273)=psp(281:301)+yab*psp(106:126)
hpf(274:287)=psp(309:322)+yab*psp(127:140)
hpf(288:294)=psp(330:336)+yab*psp(141:147)
hpf(295:441)=psp(197:343)+xab*psp(1:147)
ipf(1:49)=psp(344:392)+zab*psp(148:196)
ipf(50:91)=psp(400:441)+zab*psp(197:238)
ipf(92:126)=psp(449:483)+zab*psp(239:273)
ipf(127:154)=psp(491:518)+zab*psp(274:301)
ipf(155:175)=psp(526:546)+zab*psp(302:322)
ipf(176:189)=psp(554:567)+zab*psp(323:336)
ipf(190:196)=psp(575:581)+zab*psp(337:343)
ipf(197:245)=psp(351:399)+yab*psp(148:196)
ipf(246:287)=psp(407:448)+yab*psp(197:238)
ipf(288:322)=psp(456:490)+yab*psp(239:273)
ipf(323:350)=psp(498:525)+yab*psp(274:301)
ipf(351:371)=psp(533:553)+yab*psp(302:322)
ipf(372:385)=psp(561:574)+yab*psp(323:336)
ipf(386:392)=psp(582:588)+yab*psp(337:343)
ipf(393:588)=psp(400:595)+xab*psp(148:343)
kpf(1:56)=psp(596:651)+zab*psp(344:399)
kpf(57:105)=psp(659:707)+zab*psp(400:448)
kpf(106:147)=psp(715:756)+zab*psp(449:490)
kpf(148:182)=psp(764:798)+zab*psp(491:525)
kpf(183:210)=psp(806:833)+zab*psp(526:553)
kpf(211:231)=psp(841:861)+zab*psp(554:574)
kpf(232:245)=psp(869:882)+zab*psp(575:588)
kpf(246:252)=psp(890:896)+zab*psp(589:595)
kpf(253:308)=psp(603:658)+yab*psp(344:399)
kpf(309:357)=psp(666:714)+yab*psp(400:448)
kpf(358:399)=psp(722:763)+yab*psp(449:490)
kpf(400:434)=psp(771:805)+yab*psp(491:525)
kpf(435:462)=psp(813:840)+yab*psp(526:553)
kpf(463:483)=psp(848:868)+yab*psp(554:574)
kpf(484:497)=psp(876:889)+yab*psp(575:588)
kpf(498:504)=psp(897:903)+yab*psp(589:595)
kpf(505:756)=psp(659:910)+xab*psp(344:595)
lpf(1:63)=psp(911:973)+zab*psp(596:658)
lpf(64:119)=psp(981:1036)+zab*psp(659:714)
lpf(120:168)=psp(1044:1092)+zab*psp(715:763)
lpf(169:210)=psp(1100:1141)+zab*psp(764:805)
lpf(211:245)=psp(1149:1183)+zab*psp(806:840)
lpf(246:273)=psp(1191:1218)+zab*psp(841:868)
lpf(274:294)=psp(1226:1246)+zab*psp(869:889)
lpf(295:308)=psp(1254:1267)+zab*psp(890:903)
lpf(309:315)=psp(1275:1281)+zab*psp(904:910)
lpf(316:378)=psp(918:980)+yab*psp(596:658)
lpf(379:434)=psp(988:1043)+yab*psp(659:714)
lpf(435:483)=psp(1051:1099)+yab*psp(715:763)
lpf(484:525)=psp(1107:1148)+yab*psp(764:805)
lpf(526:560)=psp(1156:1190)+yab*psp(806:840)
lpf(561:588)=psp(1198:1225)+yab*psp(841:868)
lpf(589:609)=psp(1233:1253)+yab*psp(869:889)
lpf(610:623)=psp(1261:1274)+yab*psp(890:903)
lpf(624:630)=psp(1282:1288)+yab*psp(904:910)
lpf(631:945)=psp(981:1295)+xab*psp(596:910)
hdf(1:42)=ipf(1:42)+zab*hpf(1:42)
hdf(43:77)=ipf(50:84)+zab*hpf(43:77)
hdf(78:105)=ipf(92:119)+zab*hpf(78:105)
hdf(106:126)=ipf(127:147)+zab*hpf(106:126)
hdf(127:140)=ipf(155:168)+zab*hpf(127:140)
hdf(141:147)=ipf(176:182)+zab*hpf(141:147)
hdf(295:336)=ipf(204:245)+yab*hpf(148:189)
hdf(337:371)=ipf(253:287)+yab*hpf(190:224)
hdf(372:399)=ipf(295:322)+yab*hpf(225:252)
hdf(400:420)=ipf(330:350)+yab*hpf(253:273)
hdf(421:434)=ipf(358:371)+yab*hpf(274:287)
hdf(435:441)=ipf(379:385)+yab*hpf(288:294)
hdf(736:882)=ipf(442:588)+xab*hpf(295:441)
idf(1:49)=kpf(1:49)+zab*ipf(1:49)
idf(50:91)=kpf(57:98)+zab*ipf(50:91)
idf(92:126)=kpf(106:140)+zab*ipf(92:126)
idf(127:154)=kpf(148:175)+zab*ipf(127:154)
idf(155:175)=kpf(183:203)+zab*ipf(155:175)
idf(176:189)=kpf(211:224)+zab*ipf(176:189)
idf(190:196)=kpf(232:238)+zab*ipf(190:196)
idf(393:441)=kpf(260:308)+yab*ipf(197:245)
idf(442:483)=kpf(316:357)+yab*ipf(246:287)
idf(484:518)=kpf(365:399)+yab*ipf(288:322)
idf(519:546)=kpf(407:434)+yab*ipf(323:350)
idf(547:567)=kpf(442:462)+yab*ipf(351:371)
idf(568:581)=kpf(470:483)+yab*ipf(372:385)
idf(582:588)=kpf(491:497)+yab*ipf(386:392)
idf(981:1176)=kpf(561:756)+xab*ipf(393:588)
kdf(1:56)=lpf(1:56)+zab*kpf(1:56)
kdf(57:105)=lpf(64:112)+zab*kpf(57:105)
kdf(106:147)=lpf(120:161)+zab*kpf(106:147)
kdf(148:182)=lpf(169:203)+zab*kpf(148:182)
kdf(183:210)=lpf(211:238)+zab*kpf(183:210)
kdf(211:231)=lpf(246:266)+zab*kpf(211:231)
kdf(232:245)=lpf(274:287)+zab*kpf(232:245)
kdf(246:252)=lpf(295:301)+zab*kpf(246:252)
kdf(505:560)=lpf(323:378)+yab*kpf(253:308)
kdf(561:609)=lpf(386:434)+yab*kpf(309:357)
kdf(610:651)=lpf(442:483)+yab*kpf(358:399)
kdf(652:686)=lpf(491:525)+yab*kpf(400:434)
kdf(687:714)=lpf(533:560)+yab*kpf(435:462)
kdf(715:735)=lpf(568:588)+yab*kpf(463:483)
kdf(736:749)=lpf(596:609)+yab*kpf(484:497)
kdf(750:756)=lpf(617:623)+yab*kpf(498:504)
kdf(1261:1512)=lpf(694:945)+xab*kpf(505:756)
hff(1:42)=idf(1:42)+zab*hdf(1:42)
hff(43:77)=idf(50:84)+zab*hdf(43:77)
hff(78:105)=idf(92:119)+zab*hdf(78:105)
hff(106:126)=idf(127:147)+zab*hdf(106:126)
hff(127:140)=idf(155:168)+zab*hdf(127:140)
hff(141:147)=idf(176:182)+zab*hdf(141:147)
hff(148:189)=idf(8:49)+yab*hdf(1:42)
hff(190:224)=idf(57:91)+yab*hdf(43:77)
hff(225:252)=idf(99:126)+yab*hdf(78:105)
hff(253:273)=idf(134:154)+yab*hdf(106:126)
hff(274:287)=idf(162:175)+yab*hdf(127:140)
hff(288:294)=idf(183:189)+yab*hdf(141:147)
hff(442:483)=idf(400:441)+yab*hdf(295:336)
hff(484:518)=idf(449:483)+yab*hdf(337:371)
hff(519:546)=idf(491:518)+yab*hdf(372:399)
hff(547:567)=idf(526:546)+yab*hdf(400:420)
hff(568:581)=idf(554:567)+yab*hdf(421:434)
hff(582:588)=idf(575:581)+yab*hdf(435:441)
hff(883:1029)=idf(442:588)+xab*hdf(295:441)
hff(1030:1071)=idf(981:1022)+zab*hdf(736:777)
hff(1072:1106)=idf(1030:1064)+zab*hdf(778:812)
hff(1107:1134)=idf(1072:1099)+zab*hdf(813:840)
hff(1135:1155)=idf(1107:1127)+zab*hdf(841:861)
hff(1156:1169)=idf(1135:1148)+zab*hdf(862:875)
hff(1170:1176)=idf(1156:1162)+zab*hdf(876:882)
hff(1324:1470)=idf(1030:1176)+xab*hdf(736:882)
iff(1:49)=kdf(1:49)+zab*idf(1:49)
iff(50:91)=kdf(57:98)+zab*idf(50:91)
iff(92:126)=kdf(106:140)+zab*idf(92:126)
iff(127:154)=kdf(148:175)+zab*idf(127:154)
iff(155:175)=kdf(183:203)+zab*idf(155:175)
iff(176:189)=kdf(211:224)+zab*idf(176:189)
iff(190:196)=kdf(232:238)+zab*idf(190:196)
iff(197:245)=kdf(8:56)+yab*idf(1:49)
iff(246:287)=kdf(64:105)+yab*idf(50:91)
iff(288:322)=kdf(113:147)+yab*idf(92:126)
iff(323:350)=kdf(155:182)+yab*idf(127:154)
iff(351:371)=kdf(190:210)+yab*idf(155:175)
iff(372:385)=kdf(218:231)+yab*idf(176:189)
iff(386:392)=kdf(239:245)+yab*idf(190:196)
iff(589:637)=kdf(512:560)+yab*idf(393:441)
iff(638:679)=kdf(568:609)+yab*idf(442:483)
iff(680:714)=kdf(617:651)+yab*idf(484:518)
iff(715:742)=kdf(659:686)+yab*idf(519:546)
iff(743:763)=kdf(694:714)+yab*idf(547:567)
iff(764:777)=kdf(722:735)+yab*idf(568:581)
iff(778:784)=kdf(743:749)+yab*idf(582:588)
iff(1177:1372)=kdf(561:756)+xab*idf(393:588)
iff(1373:1421)=kdf(1261:1309)+zab*idf(981:1029)
iff(1422:1463)=kdf(1317:1358)+zab*idf(1030:1071)
iff(1464:1498)=kdf(1366:1400)+zab*idf(1072:1106)
iff(1499:1526)=kdf(1408:1435)+zab*idf(1107:1134)
iff(1527:1547)=kdf(1443:1463)+zab*idf(1135:1155)
iff(1548:1561)=kdf(1471:1484)+zab*idf(1156:1169)
iff(1562:1568)=kdf(1492:1498)+zab*idf(1170:1176)
iff(1765:1960)=kdf(1317:1512)+xab*idf(981:1176)
psp2(1:42)=iff(1:42)+zab*hff(1:42)
psp2(43:77)=iff(50:84)+zab*hff(43:77)
psp2(78:105)=iff(92:119)+zab*hff(78:105)
psp2(106:126)=iff(127:147)+zab*hff(106:126)
psp2(127:140)=iff(155:168)+zab*hff(127:140)
psp2(141:147)=iff(176:182)+zab*hff(141:147)
psp2(148:189)=iff(8:49)+yab*hff(1:42)
psp2(190:224)=iff(57:91)+yab*hff(43:77)
psp2(225:252)=iff(99:126)+yab*hff(78:105)
psp2(253:273)=iff(134:154)+yab*hff(106:126)
psp2(274:287)=iff(162:175)+yab*hff(127:140)
psp2(288:294)=iff(183:189)+yab*hff(141:147)
psp2(295:336)=iff(204:245)+yab*hff(148:189)
psp2(337:371)=iff(253:287)+yab*hff(190:224)
psp2(372:399)=iff(295:322)+yab*hff(225:252)
psp2(400:420)=iff(330:350)+yab*hff(253:273)
psp2(421:434)=iff(358:371)+yab*hff(274:287)
psp2(435:441)=iff(379:385)+yab*hff(288:294)
psp2(442:483)=iff(589:630)+zab*hff(442:483)
psp2(484:518)=iff(638:672)+zab*hff(484:518)
psp2(519:546)=iff(680:707)+zab*hff(519:546)
psp2(547:567)=iff(715:735)+zab*hff(547:567)
psp2(568:581)=iff(743:756)+zab*hff(568:581)
psp2(582:588)=iff(764:770)+zab*hff(582:588)
psp2(589:630)=iff(596:637)+yab*hff(442:483)
psp2(631:665)=iff(645:679)+yab*hff(484:518)
psp2(666:693)=iff(687:714)+yab*hff(519:546)
psp2(694:714)=iff(722:742)+yab*hff(547:567)
psp2(715:728)=iff(750:763)+yab*hff(568:581)
psp2(729:735)=iff(771:777)+yab*hff(582:588)
psp2(736:882)=iff(50:196)+xab*hff(1:147)
psp2(883:1029)=iff(246:392)+xab*hff(148:294)
psp2(1030:1071)=iff(1177:1218)+zab*hff(883:924)
psp2(1072:1106)=iff(1226:1260)+zab*hff(925:959)
psp2(1107:1134)=iff(1268:1295)+zab*hff(960:987)
psp2(1135:1155)=iff(1303:1323)+zab*hff(988:1008)
psp2(1156:1169)=iff(1331:1344)+zab*hff(1009:1022)
psp2(1170:1176)=iff(1352:1358)+zab*hff(1023:1029)
psp2(1177:1323)=iff(638:784)+xab*hff(442:588)
psp2(1324:1365)=iff(1373:1414)+zab*hff(1030:1071)
psp2(1366:1400)=iff(1422:1456)+zab*hff(1072:1106)
psp2(1401:1428)=iff(1464:1491)+zab*hff(1107:1134)
psp2(1429:1449)=iff(1499:1519)+zab*hff(1135:1155)
psp2(1450:1463)=iff(1527:1540)+zab*hff(1156:1169)
psp2(1464:1470)=iff(1548:1554)+zab*hff(1170:1176)
psp2(1471:1512)=iff(1380:1421)+yab*hff(1030:1071)
psp2(1513:1547)=iff(1429:1463)+yab*hff(1072:1106)
psp2(1548:1575)=iff(1471:1498)+yab*hff(1107:1134)
psp2(1576:1596)=iff(1506:1526)+yab*hff(1135:1155)
psp2(1597:1610)=iff(1534:1547)+yab*hff(1156:1169)
psp2(1611:1617)=iff(1555:1561)+yab*hff(1170:1176)
psp2(1618:1764)=iff(1226:1372)+xab*hff(883:1029)
psp2(1765:1806)=iff(1765:1806)+zab*hff(1324:1365)
psp2(1807:1841)=iff(1814:1848)+zab*hff(1366:1400)
psp2(1842:1869)=iff(1856:1883)+zab*hff(1401:1428)
psp2(1870:1890)=iff(1891:1911)+zab*hff(1429:1449)
psp2(1891:1904)=iff(1919:1932)+zab*hff(1450:1463)
psp2(1905:1911)=iff(1940:1946)+zab*hff(1464:1470)
psp2(1912:1953)=iff(1772:1813)+yab*hff(1324:1365)
psp2(1954:1988)=iff(1821:1855)+yab*hff(1366:1400)
psp2(1989:2016)=iff(1863:1890)+yab*hff(1401:1428)
psp2(2017:2037)=iff(1898:1918)+yab*hff(1429:1449)
psp2(2038:2051)=iff(1926:1939)+yab*hff(1450:1463)
psp2(2052:2058)=iff(1947:1953)+yab*hff(1464:1470)
psp2(2059:2205)=iff(1814:1960)+xab*hff(1324:1470)
sp(1:147)=psp2(1177:1323)*(-2.95803989154980806475d0)+psp2(1912:20
$58)*2.95803989154980806475d0
sp(148:294)=psp2(442:588)*(-2.09165006633518890666d0)+psp2(1471:16
$17)*6.27495019900556627590d0
sp(295:441)=psp2(883:1029)*6.70820393249936941515d0+psp2(1177:1323
$)*(-1.11803398874989490253d0)+psp2(1912:2058)*(-1.1180339887498949
$0253d0)
sp(442:588)=psp2(148:294)*3.16227766016837907870d0+psp2(442:588)*(
$-2.37170824512628453107d0)+psp2(1471:1617)*(-2.3717082451262845310
$7d0)
sp(589:735)=psp2(1:147)+psp2(295:441)*(-3.00000000000000000000d0)+
$psp2(589:735)*0.37500000000000000000d0+psp2(1324:1470)*(-3.0000000
$0000000000000d0)+psp2(1618:1764)*0.75000000000000000000d0+psp2(205
$9:2205)*0.37500000000000000000d0
sp(736:882)=psp2(736:882)*3.16227766016837907870d0+psp2(1030:1176)
$*(-2.37170824512628453107d0)+psp2(1765:1911)*(-2.37170824512628453
$107d0)
sp(883:1029)=psp2(295:441)*(-3.35410196624968470758d0)+psp2(589:73
$5)*0.55901699437494745126d0+psp2(1324:1470)*3.35410196624968470758
$d0+psp2(2059:2205)*(-0.55901699437494745126d0)
sp(1030:1176)=psp2(1030:1176)*(-6.27495019900556627590d0)+psp2(176
$5:1911)*2.09165006633518890666d0
sp(1177:1323)=psp2(589:735)*0.73950997288745201619d0+psp2(1618:176
$4)*(-4.43705983732471231917d0)+psp2(2059:2205)*0.73950997288745201
$619d0
do ji=0,8
ki=ji*147
jk=ji*7
do ii=0,20
k=ii*7
il=ii*63
do ik=1,7
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:63)=psp2(316:378)*0.70156076002011391601d0+psp2(883:945)*(-7.
$01560760020113871605d0)+psp2(1198:1260)*3.50780380010056935802d0
sp(64:126)=psp2(568:630)*(-8.87411967464942463835d0)+psp2(1009:107
$1)*8.87411967464942463835d0
sp(127:189)=psp2(190:252)*(-4.18330013267037692515d0)+psp2(316:378
$)*0.52291251658379711564d0+psp2(757:819)*12.54990039801113255180d0
$+psp2(883:945)*(-1.04582503316759423129d0)+psp2(1198:1260)*(-1.568
$73754975139156898d0)
sp(190:252)=psp2(442:504)*10.24695076595959974952d0+psp2(568:630)*
$(-5.12347538297979987476d0)+psp2(1009:1071)*(-5.123475382979799874
$76d0)
sp(253:315)=psp2(64:126)*3.87298334620741613321d0+psp2(190:252)*(-
$5.80947501931112419982d0)+psp2(316:378)*0.48412291827592701665d0+p
$sp2(757:819)*(-5.80947501931112419982d0)+psp2(883:945)*0.968245836
$55185403330d0+psp2(1198:1260)*0.48412291827592701665d0
sp(316:378)=psp2(1:63)+psp2(127:189)*(-5.00000000000000000000d0)+p
$sp2(253:315)*1.87500000000000000000d0+psp2(694:756)*(-5.0000000000
$0000000000d0)+psp2(820:882)*3.75000000000000000000d0+psp2(1135:119
$7)*1.87500000000000000000d0
sp(379:441)=psp2(379:441)*3.87298334620741613321d0+psp2(505:567)*(
$-5.80947501931112419982d0)+psp2(631:693)*0.48412291827592701665d0+
$psp2(946:1008)*(-5.80947501931112419982d0)+psp2(1072:1134)*0.96824
$583655185403330d0+psp2(1261:1323)*0.48412291827592701665d0
sp(442:504)=psp2(127:189)*(-5.12347538297979987476d0)+psp2(253:315
$)*2.56173769148989993738d0+psp2(694:756)*5.12347538297979987476d0+
$psp2(1135:1197)*(-2.56173769148989993738d0)
sp(505:567)=psp2(505:567)*(-12.54990039801113255180d0)+psp2(631:69
$3)*1.56873754975139156898d0+psp2(946:1008)*4.18330013267037692515d
$0+psp2(1072:1134)*1.04582503316759423129d0+psp2(1261:1323)*(-0.522
$91251658379711564d0)
sp(568:630)=psp2(253:315)*2.21852991866235615959d0+psp2(820:882)*(
$-13.31117951197413695752d0)+psp2(1135:1197)*2.21852991866235615959
$d0
sp(631:693)=psp2(631:693)*3.50780380010056935802d0+psp2(1072:1134)
$*(-7.01560760020113871605d0)+psp2(1261:1323)*0.7015607600201139160
$1d0
return
end
subroutine hrrspher_hgg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(2835),psp(2775)
real*8 psp2(2835)
real*8 hpg(567),ipg(756),kpg(972),lpg(1215),hdg(1134),idg(1512),kd
$g(1944),hfg(1890),ifg(2520),xab,yab,zab
sp(1:185)=psp(1481:1665)*(-2.95803989154980806475d0)+psp(2406:2590
$)*2.95803989154980806475d0
sp(186:370)=psp(556:740)*(-2.09165006633518890666d0)+psp(1851:2035
$)*6.27495019900556627590d0
sp(371:555)=psp(1111:1295)*6.70820393249936941515d0+psp(1481:1665)
$*(-1.11803398874989490253d0)+psp(2406:2590)*(-1.118033988749894902
$53d0)
sp(556:740)=psp(186:370)*3.16227766016837907870d0+psp(556:740)*(-2
$.37170824512628453107d0)+psp(1851:2035)*(-2.37170824512628453107d0
$)
sp(741:925)=psp(1:185)+psp(371:555)*(-3.00000000000000000000d0)+ps
$p(741:925)*0.37500000000000000000d0+psp(1666:1850)*(-3.00000000000
$000000000d0)+psp(2036:2220)*0.75000000000000000000d0+psp(2591:2775
$)*0.37500000000000000000d0
sp(926:1110)=psp(926:1110)*3.16227766016837907870d0+psp(1296:1480)
$*(-2.37170824512628453107d0)+psp(2221:2405)*(-2.371708245126284531
$07d0)
sp(1111:1295)=psp(371:555)*(-3.35410196624968470758d0)+psp(741:925
$)*0.55901699437494745126d0+psp(1666:1850)*3.35410196624968470758d0
$+psp(2591:2775)*(-0.55901699437494745126d0)
sp(1296:1480)=psp(1296:1480)*(-6.27495019900556627590d0)+psp(2221:
$2405)*2.09165006633518890666d0
sp(1481:1665)=psp(741:925)*0.73950997288745201619d0+psp(2036:2220)
$*(-4.43705983732471231917d0)+psp(2591:2775)*0.73950997288745201619
$d0
do ii=1,9
ji=(ii-1)*185
do ki=1,185
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
hpg(1:54)=psp(190:243)+zab*psp(1:54)
hpg(55:99)=psp(253:297)+zab*psp(55:99)
hpg(100:135)=psp(307:342)+zab*psp(100:135)
hpg(136:162)=psp(352:378)+zab*psp(136:162)
hpg(163:180)=psp(388:405)+zab*psp(163:180)
hpg(181:189)=psp(415:423)+zab*psp(181:189)
hpg(190:243)=psp(199:252)+yab*psp(1:54)
hpg(244:288)=psp(262:306)+yab*psp(55:99)
hpg(289:324)=psp(316:351)+yab*psp(100:135)
hpg(325:351)=psp(361:387)+yab*psp(136:162)
hpg(352:369)=psp(397:414)+yab*psp(163:180)
hpg(370:378)=psp(424:432)+yab*psp(181:189)
hpg(379:567)=psp(253:441)+xab*psp(1:189)
ipg(1:63)=psp(442:504)+zab*psp(190:252)
ipg(64:117)=psp(514:567)+zab*psp(253:306)
ipg(118:162)=psp(577:621)+zab*psp(307:351)
ipg(163:198)=psp(631:666)+zab*psp(352:387)
ipg(199:225)=psp(676:702)+zab*psp(388:414)
ipg(226:243)=psp(712:729)+zab*psp(415:432)
ipg(244:252)=psp(739:747)+zab*psp(433:441)
ipg(253:315)=psp(451:513)+yab*psp(190:252)
ipg(316:369)=psp(523:576)+yab*psp(253:306)
ipg(370:414)=psp(586:630)+yab*psp(307:351)
ipg(415:450)=psp(640:675)+yab*psp(352:387)
ipg(451:477)=psp(685:711)+yab*psp(388:414)
ipg(478:495)=psp(721:738)+yab*psp(415:432)
ipg(496:504)=psp(748:756)+yab*psp(433:441)
ipg(505:756)=psp(514:765)+xab*psp(190:441)
kpg(1:72)=psp(766:837)+zab*psp(442:513)
kpg(73:135)=psp(847:909)+zab*psp(514:576)
kpg(136:189)=psp(919:972)+zab*psp(577:630)
kpg(190:234)=psp(982:1026)+zab*psp(631:675)
kpg(235:270)=psp(1036:1071)+zab*psp(676:711)
kpg(271:297)=psp(1081:1107)+zab*psp(712:738)
kpg(298:315)=psp(1117:1134)+zab*psp(739:756)
kpg(316:324)=psp(1144:1152)+zab*psp(757:765)
kpg(325:396)=psp(775:846)+yab*psp(442:513)
kpg(397:459)=psp(856:918)+yab*psp(514:576)
kpg(460:513)=psp(928:981)+yab*psp(577:630)
kpg(514:558)=psp(991:1035)+yab*psp(631:675)
kpg(559:594)=psp(1045:1080)+yab*psp(676:711)
kpg(595:621)=psp(1090:1116)+yab*psp(712:738)
kpg(622:639)=psp(1126:1143)+yab*psp(739:756)
kpg(640:648)=psp(1153:1161)+yab*psp(757:765)
kpg(649:972)=psp(847:1170)+xab*psp(442:765)
lpg(1:81)=psp(1171:1251)+zab*psp(766:846)
lpg(82:153)=psp(1261:1332)+zab*psp(847:918)
lpg(154:216)=psp(1342:1404)+zab*psp(919:981)
lpg(217:270)=psp(1414:1467)+zab*psp(982:1035)
lpg(271:315)=psp(1477:1521)+zab*psp(1036:1080)
lpg(316:351)=psp(1531:1566)+zab*psp(1081:1116)
lpg(352:378)=psp(1576:1602)+zab*psp(1117:1143)
lpg(379:396)=psp(1612:1629)+zab*psp(1144:1161)
lpg(397:405)=psp(1639:1647)+zab*psp(1162:1170)
lpg(406:486)=psp(1180:1260)+yab*psp(766:846)
lpg(487:558)=psp(1270:1341)+yab*psp(847:918)
lpg(559:621)=psp(1351:1413)+yab*psp(919:981)
lpg(622:675)=psp(1423:1476)+yab*psp(982:1035)
lpg(676:720)=psp(1486:1530)+yab*psp(1036:1080)
lpg(721:756)=psp(1540:1575)+yab*psp(1081:1116)
lpg(757:783)=psp(1585:1611)+yab*psp(1117:1143)
lpg(784:801)=psp(1621:1638)+yab*psp(1144:1161)
lpg(802:810)=psp(1648:1656)+yab*psp(1162:1170)
lpg(811:1215)=psp(1261:1665)+xab*psp(766:1170)
hdg(1:54)=ipg(1:54)+zab*hpg(1:54)
hdg(55:99)=ipg(64:108)+zab*hpg(55:99)
hdg(100:135)=ipg(118:153)+zab*hpg(100:135)
hdg(136:162)=ipg(163:189)+zab*hpg(136:162)
hdg(163:180)=ipg(199:216)+zab*hpg(163:180)
hdg(181:189)=ipg(226:234)+zab*hpg(181:189)
hdg(379:432)=ipg(262:315)+yab*hpg(190:243)
hdg(433:477)=ipg(325:369)+yab*hpg(244:288)
hdg(478:513)=ipg(379:414)+yab*hpg(289:324)
hdg(514:540)=ipg(424:450)+yab*hpg(325:351)
hdg(541:558)=ipg(460:477)+yab*hpg(352:369)
hdg(559:567)=ipg(487:495)+yab*hpg(370:378)
hdg(946:1134)=ipg(568:756)+xab*hpg(379:567)
idg(1:63)=kpg(1:63)+zab*ipg(1:63)
idg(64:117)=kpg(73:126)+zab*ipg(64:117)
idg(118:162)=kpg(136:180)+zab*ipg(118:162)
idg(163:198)=kpg(190:225)+zab*ipg(163:198)
idg(199:225)=kpg(235:261)+zab*ipg(199:225)
idg(226:243)=kpg(271:288)+zab*ipg(226:243)
idg(244:252)=kpg(298:306)+zab*ipg(244:252)
idg(505:567)=kpg(334:396)+yab*ipg(253:315)
idg(568:621)=kpg(406:459)+yab*ipg(316:369)
idg(622:666)=kpg(469:513)+yab*ipg(370:414)
idg(667:702)=kpg(523:558)+yab*ipg(415:450)
idg(703:729)=kpg(568:594)+yab*ipg(451:477)
idg(730:747)=kpg(604:621)+yab*ipg(478:495)
idg(748:756)=kpg(631:639)+yab*ipg(496:504)
idg(1261:1512)=kpg(721:972)+xab*ipg(505:756)
kdg(1:72)=lpg(1:72)+zab*kpg(1:72)
kdg(73:135)=lpg(82:144)+zab*kpg(73:135)
kdg(136:189)=lpg(154:207)+zab*kpg(136:189)
kdg(190:234)=lpg(217:261)+zab*kpg(190:234)
kdg(235:270)=lpg(271:306)+zab*kpg(235:270)
kdg(271:297)=lpg(316:342)+zab*kpg(271:297)
kdg(298:315)=lpg(352:369)+zab*kpg(298:315)
kdg(316:324)=lpg(379:387)+zab*kpg(316:324)
kdg(649:720)=lpg(415:486)+yab*kpg(325:396)
kdg(721:783)=lpg(496:558)+yab*kpg(397:459)
kdg(784:837)=lpg(568:621)+yab*kpg(460:513)
kdg(838:882)=lpg(631:675)+yab*kpg(514:558)
kdg(883:918)=lpg(685:720)+yab*kpg(559:594)
kdg(919:945)=lpg(730:756)+yab*kpg(595:621)
kdg(946:963)=lpg(766:783)+yab*kpg(622:639)
kdg(964:972)=lpg(793:801)+yab*kpg(640:648)
kdg(1621:1944)=lpg(892:1215)+xab*kpg(649:972)
hfg(1:54)=idg(1:54)+zab*hdg(1:54)
hfg(55:99)=idg(64:108)+zab*hdg(55:99)
hfg(100:135)=idg(118:153)+zab*hdg(100:135)
hfg(136:162)=idg(163:189)+zab*hdg(136:162)
hfg(163:180)=idg(199:216)+zab*hdg(163:180)
hfg(181:189)=idg(226:234)+zab*hdg(181:189)
hfg(190:243)=idg(10:63)+yab*hdg(1:54)
hfg(244:288)=idg(73:117)+yab*hdg(55:99)
hfg(289:324)=idg(127:162)+yab*hdg(100:135)
hfg(325:351)=idg(172:198)+yab*hdg(136:162)
hfg(352:369)=idg(208:225)+yab*hdg(163:180)
hfg(370:378)=idg(235:243)+yab*hdg(181:189)
hfg(568:621)=idg(514:567)+yab*hdg(379:432)
hfg(622:666)=idg(577:621)+yab*hdg(433:477)
hfg(667:702)=idg(631:666)+yab*hdg(478:513)
hfg(703:729)=idg(676:702)+yab*hdg(514:540)
hfg(730:747)=idg(712:729)+yab*hdg(541:558)
hfg(748:756)=idg(739:747)+yab*hdg(559:567)
hfg(1135:1323)=idg(568:756)+xab*hdg(379:567)
hfg(1324:1377)=idg(1261:1314)+zab*hdg(946:999)
hfg(1378:1422)=idg(1324:1368)+zab*hdg(1000:1044)
hfg(1423:1458)=idg(1378:1413)+zab*hdg(1045:1080)
hfg(1459:1485)=idg(1423:1449)+zab*hdg(1081:1107)
hfg(1486:1503)=idg(1459:1476)+zab*hdg(1108:1125)
hfg(1504:1512)=idg(1486:1494)+zab*hdg(1126:1134)
hfg(1702:1890)=idg(1324:1512)+xab*hdg(946:1134)
ifg(1:63)=kdg(1:63)+zab*idg(1:63)
ifg(64:117)=kdg(73:126)+zab*idg(64:117)
ifg(118:162)=kdg(136:180)+zab*idg(118:162)
ifg(163:198)=kdg(190:225)+zab*idg(163:198)
ifg(199:225)=kdg(235:261)+zab*idg(199:225)
ifg(226:243)=kdg(271:288)+zab*idg(226:243)
ifg(244:252)=kdg(298:306)+zab*idg(244:252)
ifg(253:315)=kdg(10:72)+yab*idg(1:63)
ifg(316:369)=kdg(82:135)+yab*idg(64:117)
ifg(370:414)=kdg(145:189)+yab*idg(118:162)
ifg(415:450)=kdg(199:234)+yab*idg(163:198)
ifg(451:477)=kdg(244:270)+yab*idg(199:225)
ifg(478:495)=kdg(280:297)+yab*idg(226:243)
ifg(496:504)=kdg(307:315)+yab*idg(244:252)
ifg(757:819)=kdg(658:720)+yab*idg(505:567)
ifg(820:873)=kdg(730:783)+yab*idg(568:621)
ifg(874:918)=kdg(793:837)+yab*idg(622:666)
ifg(919:954)=kdg(847:882)+yab*idg(667:702)
ifg(955:981)=kdg(892:918)+yab*idg(703:729)
ifg(982:999)=kdg(928:945)+yab*idg(730:747)
ifg(1000:1008)=kdg(955:963)+yab*idg(748:756)
ifg(1513:1764)=kdg(721:972)+xab*idg(505:756)
ifg(1765:1827)=kdg(1621:1683)+zab*idg(1261:1323)
ifg(1828:1881)=kdg(1693:1746)+zab*idg(1324:1377)
ifg(1882:1926)=kdg(1756:1800)+zab*idg(1378:1422)
ifg(1927:1962)=kdg(1810:1845)+zab*idg(1423:1458)
ifg(1963:1989)=kdg(1855:1881)+zab*idg(1459:1485)
ifg(1990:2007)=kdg(1891:1908)+zab*idg(1486:1503)
ifg(2008:2016)=kdg(1918:1926)+zab*idg(1504:1512)
ifg(2269:2520)=kdg(1693:1944)+xab*idg(1261:1512)
psp2(1:54)=ifg(1:54)+zab*hfg(1:54)
psp2(55:99)=ifg(64:108)+zab*hfg(55:99)
psp2(100:135)=ifg(118:153)+zab*hfg(100:135)
psp2(136:162)=ifg(163:189)+zab*hfg(136:162)
psp2(163:180)=ifg(199:216)+zab*hfg(163:180)
psp2(181:189)=ifg(226:234)+zab*hfg(181:189)
psp2(190:243)=ifg(10:63)+yab*hfg(1:54)
psp2(244:288)=ifg(73:117)+yab*hfg(55:99)
psp2(289:324)=ifg(127:162)+yab*hfg(100:135)
psp2(325:351)=ifg(172:198)+yab*hfg(136:162)
psp2(352:369)=ifg(208:225)+yab*hfg(163:180)
psp2(370:378)=ifg(235:243)+yab*hfg(181:189)
psp2(379:432)=ifg(262:315)+yab*hfg(190:243)
psp2(433:477)=ifg(325:369)+yab*hfg(244:288)
psp2(478:513)=ifg(379:414)+yab*hfg(289:324)
psp2(514:540)=ifg(424:450)+yab*hfg(325:351)
psp2(541:558)=ifg(460:477)+yab*hfg(352:369)
psp2(559:567)=ifg(487:495)+yab*hfg(370:378)
psp2(568:621)=ifg(757:810)+zab*hfg(568:621)
psp2(622:666)=ifg(820:864)+zab*hfg(622:666)
psp2(667:702)=ifg(874:909)+zab*hfg(667:702)
psp2(703:729)=ifg(919:945)+zab*hfg(703:729)
psp2(730:747)=ifg(955:972)+zab*hfg(730:747)
psp2(748:756)=ifg(982:990)+zab*hfg(748:756)
psp2(757:810)=ifg(766:819)+yab*hfg(568:621)
psp2(811:855)=ifg(829:873)+yab*hfg(622:666)
psp2(856:891)=ifg(883:918)+yab*hfg(667:702)
psp2(892:918)=ifg(928:954)+yab*hfg(703:729)
psp2(919:936)=ifg(964:981)+yab*hfg(730:747)
psp2(937:945)=ifg(991:999)+yab*hfg(748:756)
psp2(946:1134)=ifg(64:252)+xab*hfg(1:189)
psp2(1135:1323)=ifg(316:504)+xab*hfg(190:378)
psp2(1324:1377)=ifg(1513:1566)+zab*hfg(1135:1188)
psp2(1378:1422)=ifg(1576:1620)+zab*hfg(1189:1233)
psp2(1423:1458)=ifg(1630:1665)+zab*hfg(1234:1269)
psp2(1459:1485)=ifg(1675:1701)+zab*hfg(1270:1296)
psp2(1486:1503)=ifg(1711:1728)+zab*hfg(1297:1314)
psp2(1504:1512)=ifg(1738:1746)+zab*hfg(1315:1323)
psp2(1513:1701)=ifg(820:1008)+xab*hfg(568:756)
psp2(1702:1755)=ifg(1765:1818)+zab*hfg(1324:1377)
psp2(1756:1800)=ifg(1828:1872)+zab*hfg(1378:1422)
psp2(1801:1836)=ifg(1882:1917)+zab*hfg(1423:1458)
psp2(1837:1863)=ifg(1927:1953)+zab*hfg(1459:1485)
psp2(1864:1881)=ifg(1963:1980)+zab*hfg(1486:1503)
psp2(1882:1890)=ifg(1990:1998)+zab*hfg(1504:1512)
psp2(1891:1944)=ifg(1774:1827)+yab*hfg(1324:1377)
psp2(1945:1989)=ifg(1837:1881)+yab*hfg(1378:1422)
psp2(1990:2025)=ifg(1891:1926)+yab*hfg(1423:1458)
psp2(2026:2052)=ifg(1936:1962)+yab*hfg(1459:1485)
psp2(2053:2070)=ifg(1972:1989)+yab*hfg(1486:1503)
psp2(2071:2079)=ifg(1999:2007)+yab*hfg(1504:1512)
psp2(2080:2268)=ifg(1576:1764)+xab*hfg(1135:1323)
psp2(2269:2322)=ifg(2269:2322)+zab*hfg(1702:1755)
psp2(2323:2367)=ifg(2332:2376)+zab*hfg(1756:1800)
psp2(2368:2403)=ifg(2386:2421)+zab*hfg(1801:1836)
psp2(2404:2430)=ifg(2431:2457)+zab*hfg(1837:1863)
psp2(2431:2448)=ifg(2467:2484)+zab*hfg(1864:1881)
psp2(2449:2457)=ifg(2494:2502)+zab*hfg(1882:1890)
psp2(2458:2511)=ifg(2278:2331)+yab*hfg(1702:1755)
psp2(2512:2556)=ifg(2341:2385)+yab*hfg(1756:1800)
psp2(2557:2592)=ifg(2395:2430)+yab*hfg(1801:1836)
psp2(2593:2619)=ifg(2440:2466)+yab*hfg(1837:1863)
psp2(2620:2637)=ifg(2476:2493)+yab*hfg(1864:1881)
psp2(2638:2646)=ifg(2503:2511)+yab*hfg(1882:1890)
psp2(2647:2835)=ifg(2332:2520)+xab*hfg(1702:1890)
sp(1:189)=psp2(1513:1701)*(-2.95803989154980806475d0)+psp2(2458:26
$46)*2.95803989154980806475d0
sp(190:378)=psp2(568:756)*(-2.09165006633518890666d0)+psp2(1891:20
$79)*6.27495019900556627590d0
sp(379:567)=psp2(1135:1323)*6.70820393249936941515d0+psp2(1513:170
$1)*(-1.11803398874989490253d0)+psp2(2458:2646)*(-1.118033988749894
$90253d0)
sp(568:756)=psp2(190:378)*3.16227766016837907870d0+psp2(568:756)*(
$-2.37170824512628453107d0)+psp2(1891:2079)*(-2.3717082451262845310
$7d0)
sp(757:945)=psp2(1:189)+psp2(379:567)*(-3.00000000000000000000d0)+
$psp2(757:945)*0.37500000000000000000d0+psp2(1702:1890)*(-3.0000000
$0000000000000d0)+psp2(2080:2268)*0.75000000000000000000d0+psp2(264
$7:2835)*0.37500000000000000000d0
sp(946:1134)=psp2(946:1134)*3.16227766016837907870d0+psp2(1324:151
$2)*(-2.37170824512628453107d0)+psp2(2269:2457)*(-2.371708245126284
$53107d0)
sp(1135:1323)=psp2(379:567)*(-3.35410196624968470758d0)+psp2(757:9
$45)*0.55901699437494745126d0+psp2(1702:1890)*3.3541019662496847075
$8d0+psp2(2647:2835)*(-0.55901699437494745126d0)
sp(1324:1512)=psp2(1324:1512)*(-6.27495019900556627590d0)+psp2(226
$9:2457)*2.09165006633518890666d0
sp(1513:1701)=psp2(757:945)*0.73950997288745201619d0+psp2(2080:226
$8)*(-4.43705983732471231917d0)+psp2(2647:2835)*0.73950997288745201
$619d0
do ji=0,8
ki=ji*189
jk=ji*9
do ii=0,20
k=ii*9
il=ii*81
do ik=1,9
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:81)=psp2(406:486)*0.70156076002011391601d0+psp2(1135:1215)*(-
$7.01560760020113871605d0)+psp2(1540:1620)*3.50780380010056935802d0
sp(82:162)=psp2(730:810)*(-8.87411967464942463835d0)+psp2(1297:137
$7)*8.87411967464942463835d0
sp(163:243)=psp2(244:324)*(-4.18330013267037692515d0)+psp2(406:486
$)*0.52291251658379711564d0+psp2(973:1053)*12.54990039801113255180d
$0+psp2(1135:1215)*(-1.04582503316759423129d0)+psp2(1540:1620)*(-1.
$56873754975139156898d0)
sp(244:324)=psp2(568:648)*10.24695076595959974952d0+psp2(730:810)*
$(-5.12347538297979987476d0)+psp2(1297:1377)*(-5.123475382979799874
$76d0)
sp(325:405)=psp2(82:162)*3.87298334620741613321d0+psp2(244:324)*(-
$5.80947501931112419982d0)+psp2(406:486)*0.48412291827592701665d0+p
$sp2(973:1053)*(-5.80947501931112419982d0)+psp2(1135:1215)*0.968245
$83655185403330d0+psp2(1540:1620)*0.48412291827592701665d0
sp(406:486)=psp2(1:81)+psp2(163:243)*(-5.00000000000000000000d0)+p
$sp2(325:405)*1.87500000000000000000d0+psp2(892:972)*(-5.0000000000
$0000000000d0)+psp2(1054:1134)*3.75000000000000000000d0+psp2(1459:1
$539)*1.87500000000000000000d0
sp(487:567)=psp2(487:567)*3.87298334620741613321d0+psp2(649:729)*(
$-5.80947501931112419982d0)+psp2(811:891)*0.48412291827592701665d0+
$psp2(1216:1296)*(-5.80947501931112419982d0)+psp2(1378:1458)*0.9682
$4583655185403330d0+psp2(1621:1701)*0.48412291827592701665d0
sp(568:648)=psp2(163:243)*(-5.12347538297979987476d0)+psp2(325:405
$)*2.56173769148989993738d0+psp2(892:972)*5.12347538297979987476d0+
$psp2(1459:1539)*(-2.56173769148989993738d0)
sp(649:729)=psp2(649:729)*(-12.54990039801113255180d0)+psp2(811:89
$1)*1.56873754975139156898d0+psp2(1216:1296)*4.18330013267037692515
$d0+psp2(1378:1458)*1.04582503316759423129d0+psp2(1621:1701)*(-0.52
$291251658379711564d0)
sp(730:810)=psp2(325:405)*2.21852991866235615959d0+psp2(1054:1134)
$*(-13.31117951197413695752d0)+psp2(1459:1539)*2.218529918662356159
$59d0
sp(811:891)=psp2(811:891)*3.50780380010056935802d0+psp2(1378:1458)
$*(-7.01560760020113871605d0)+psp2(1621:1701)*0.7015607600201139160
$1d0
return
end
subroutine hrrspher_hgh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(3465),psp(3885)
real*8 hph(693),iph(924),kph(1188),lph(1485),hdh(1386),idh(1848),k
$dh(2376),hfh(2310),ifh(3080),xab,yab,zab
sp(1:185)=psp(926:1110)*0.70156076002011391601d0+psp(2591:2775)*(-
$7.01560760020113871605d0)+psp(3516:3700)*3.50780380010056935802d0
sp(186:370)=psp(1666:1850)*(-8.87411967464942463835d0)+psp(2961:31
$45)*8.87411967464942463835d0
sp(371:555)=psp(556:740)*(-4.18330013267037692515d0)+psp(926:1110)
$*0.52291251658379711564d0+psp(2221:2405)*12.54990039801113255180d0
$+psp(2591:2775)*(-1.04582503316759423129d0)+psp(3516:3700)*(-1.568
$73754975139156898d0)
sp(556:740)=psp(1296:1480)*10.24695076595959974952d0+psp(1666:1850
$)*(-5.12347538297979987476d0)+psp(2961:3145)*(-5.12347538297979987
$476d0)
sp(741:925)=psp(186:370)*3.87298334620741613321d0+psp(556:740)*(-5
$.80947501931112419982d0)+psp(926:1110)*0.48412291827592701665d0+ps
$p(2221:2405)*(-5.80947501931112419982d0)+psp(2591:2775)*0.96824583
$655185403330d0+psp(3516:3700)*0.48412291827592701665d0
sp(926:1110)=psp(1:185)+psp(371:555)*(-5.00000000000000000000d0)+p
$sp(741:925)*1.87500000000000000000d0+psp(2036:2220)*(-5.0000000000
$0000000000d0)+psp(2406:2590)*3.75000000000000000000d0+psp(3331:351
$5)*1.87500000000000000000d0
sp(1111:1295)=psp(1111:1295)*3.87298334620741613321d0+psp(1481:166
$5)*(-5.80947501931112419982d0)+psp(1851:2035)*0.484122918275927016
$65d0+psp(2776:2960)*(-5.80947501931112419982d0)+psp(3146:3330)*0.9
$6824583655185403330d0+psp(3701:3885)*0.48412291827592701665d0
sp(1296:1480)=psp(371:555)*(-5.12347538297979987476d0)+psp(741:925
$)*2.56173769148989993738d0+psp(2036:2220)*5.12347538297979987476d0
$+psp(3331:3515)*(-2.56173769148989993738d0)
sp(1481:1665)=psp(1481:1665)*(-12.54990039801113255180d0)+psp(1851
$:2035)*1.56873754975139156898d0+psp(2776:2960)*4.18330013267037692
$515d0+psp(3146:3330)*1.04582503316759423129d0+psp(3701:3885)*(-0.5
$2291251658379711564d0)
sp(1666:1850)=psp(741:925)*2.21852991866235615959d0+psp(2406:2590)
$*(-13.31117951197413695752d0)+psp(3331:3515)*2.2185299186623561595
$9d0
sp(1851:2035)=psp(1851:2035)*3.50780380010056935802d0+psp(3146:333
$0)*(-7.01560760020113871605d0)+psp(3701:3885)*0.701560760020113916
$01d0
do ii=1,11
ji=(ii-1)*185
do ki=1,185
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
hph(1:66)=psp(232:297)+zab*psp(1:66)
hph(67:121)=psp(309:363)+zab*psp(67:121)
hph(122:165)=psp(375:418)+zab*psp(122:165)
hph(166:198)=psp(430:462)+zab*psp(166:198)
hph(199:220)=psp(474:495)+zab*psp(199:220)
hph(221:231)=psp(507:517)+zab*psp(221:231)
hph(232:297)=psp(243:308)+yab*psp(1:66)
hph(298:352)=psp(320:374)+yab*psp(67:121)
hph(353:396)=psp(386:429)+yab*psp(122:165)
hph(397:429)=psp(441:473)+yab*psp(166:198)
hph(430:451)=psp(485:506)+yab*psp(199:220)
hph(452:462)=psp(518:528)+yab*psp(221:231)
hph(463:693)=psp(309:539)+xab*psp(1:231)
iph(1:77)=psp(540:616)+zab*psp(232:308)
iph(78:143)=psp(628:693)+zab*psp(309:374)
iph(144:198)=psp(705:759)+zab*psp(375:429)
iph(199:242)=psp(771:814)+zab*psp(430:473)
iph(243:275)=psp(826:858)+zab*psp(474:506)
iph(276:297)=psp(870:891)+zab*psp(507:528)
iph(298:308)=psp(903:913)+zab*psp(529:539)
iph(309:385)=psp(551:627)+yab*psp(232:308)
iph(386:451)=psp(639:704)+yab*psp(309:374)
iph(452:506)=psp(716:770)+yab*psp(375:429)
iph(507:550)=psp(782:825)+yab*psp(430:473)
iph(551:583)=psp(837:869)+yab*psp(474:506)
iph(584:605)=psp(881:902)+yab*psp(507:528)
iph(606:616)=psp(914:924)+yab*psp(529:539)
iph(617:924)=psp(628:935)+xab*psp(232:539)
kph(1:88)=psp(936:1023)+zab*psp(540:627)
kph(89:165)=psp(1035:1111)+zab*psp(628:704)
kph(166:231)=psp(1123:1188)+zab*psp(705:770)
kph(232:286)=psp(1200:1254)+zab*psp(771:825)
kph(287:330)=psp(1266:1309)+zab*psp(826:869)
kph(331:363)=psp(1321:1353)+zab*psp(870:902)
kph(364:385)=psp(1365:1386)+zab*psp(903:924)
kph(386:396)=psp(1398:1408)+zab*psp(925:935)
kph(397:484)=psp(947:1034)+yab*psp(540:627)
kph(485:561)=psp(1046:1122)+yab*psp(628:704)
kph(562:627)=psp(1134:1199)+yab*psp(705:770)
kph(628:682)=psp(1211:1265)+yab*psp(771:825)
kph(683:726)=psp(1277:1320)+yab*psp(826:869)
kph(727:759)=psp(1332:1364)+yab*psp(870:902)
kph(760:781)=psp(1376:1397)+yab*psp(903:924)
kph(782:792)=psp(1409:1419)+yab*psp(925:935)
kph(793:1188)=psp(1035:1430)+xab*psp(540:935)
lph(1:99)=psp(1431:1529)+zab*psp(936:1034)
lph(100:187)=psp(1541:1628)+zab*psp(1035:1122)
lph(188:264)=psp(1640:1716)+zab*psp(1123:1199)
lph(265:330)=psp(1728:1793)+zab*psp(1200:1265)
lph(331:385)=psp(1805:1859)+zab*psp(1266:1320)
lph(386:429)=psp(1871:1914)+zab*psp(1321:1364)
lph(430:462)=psp(1926:1958)+zab*psp(1365:1397)
lph(463:484)=psp(1970:1991)+zab*psp(1398:1419)
lph(485:495)=psp(2003:2013)+zab*psp(1420:1430)
lph(496:594)=psp(1442:1540)+yab*psp(936:1034)
lph(595:682)=psp(1552:1639)+yab*psp(1035:1122)
lph(683:759)=psp(1651:1727)+yab*psp(1123:1199)
lph(760:825)=psp(1739:1804)+yab*psp(1200:1265)
lph(826:880)=psp(1816:1870)+yab*psp(1266:1320)
lph(881:924)=psp(1882:1925)+yab*psp(1321:1364)
lph(925:957)=psp(1937:1969)+yab*psp(1365:1397)
lph(958:979)=psp(1981:2002)+yab*psp(1398:1419)
lph(980:990)=psp(2014:2024)+yab*psp(1420:1430)
lph(991:1485)=psp(1541:2035)+xab*psp(936:1430)
hdh(1:66)=iph(1:66)+zab*hph(1:66)
hdh(67:121)=iph(78:132)+zab*hph(67:121)
hdh(122:165)=iph(144:187)+zab*hph(122:165)
hdh(166:198)=iph(199:231)+zab*hph(166:198)
hdh(199:220)=iph(243:264)+zab*hph(199:220)
hdh(221:231)=iph(276:286)+zab*hph(221:231)
hdh(463:528)=iph(320:385)+yab*hph(232:297)
hdh(529:583)=iph(397:451)+yab*hph(298:352)
hdh(584:627)=iph(463:506)+yab*hph(353:396)
hdh(628:660)=iph(518:550)+yab*hph(397:429)
hdh(661:682)=iph(562:583)+yab*hph(430:451)
hdh(683:693)=iph(595:605)+yab*hph(452:462)
hdh(1156:1386)=iph(694:924)+xab*hph(463:693)
idh(1:77)=kph(1:77)+zab*iph(1:77)
idh(78:143)=kph(89:154)+zab*iph(78:143)
idh(144:198)=kph(166:220)+zab*iph(144:198)
idh(199:242)=kph(232:275)+zab*iph(199:242)
idh(243:275)=kph(287:319)+zab*iph(243:275)
idh(276:297)=kph(331:352)+zab*iph(276:297)
idh(298:308)=kph(364:374)+zab*iph(298:308)
idh(617:693)=kph(408:484)+yab*iph(309:385)
idh(694:759)=kph(496:561)+yab*iph(386:451)
idh(760:814)=kph(573:627)+yab*iph(452:506)
idh(815:858)=kph(639:682)+yab*iph(507:550)
idh(859:891)=kph(694:726)+yab*iph(551:583)
idh(892:913)=kph(738:759)+yab*iph(584:605)
idh(914:924)=kph(771:781)+yab*iph(606:616)
idh(1541:1848)=kph(881:1188)+xab*iph(617:924)
kdh(1:88)=lph(1:88)+zab*kph(1:88)
kdh(89:165)=lph(100:176)+zab*kph(89:165)
kdh(166:231)=lph(188:253)+zab*kph(166:231)
kdh(232:286)=lph(265:319)+zab*kph(232:286)
kdh(287:330)=lph(331:374)+zab*kph(287:330)
kdh(331:363)=lph(386:418)+zab*kph(331:363)
kdh(364:385)=lph(430:451)+zab*kph(364:385)
kdh(386:396)=lph(463:473)+zab*kph(386:396)
kdh(793:880)=lph(507:594)+yab*kph(397:484)
kdh(881:957)=lph(606:682)+yab*kph(485:561)
kdh(958:1023)=lph(694:759)+yab*kph(562:627)
kdh(1024:1078)=lph(771:825)+yab*kph(628:682)
kdh(1079:1122)=lph(837:880)+yab*kph(683:726)
kdh(1123:1155)=lph(892:924)+yab*kph(727:759)
kdh(1156:1177)=lph(936:957)+yab*kph(760:781)
kdh(1178:1188)=lph(969:979)+yab*kph(782:792)
kdh(1981:2376)=lph(1090:1485)+xab*kph(793:1188)
hfh(1:66)=idh(1:66)+zab*hdh(1:66)
hfh(67:121)=idh(78:132)+zab*hdh(67:121)
hfh(122:165)=idh(144:187)+zab*hdh(122:165)
hfh(166:198)=idh(199:231)+zab*hdh(166:198)
hfh(199:220)=idh(243:264)+zab*hdh(199:220)
hfh(221:231)=idh(276:286)+zab*hdh(221:231)
hfh(232:297)=idh(12:77)+yab*hdh(1:66)
hfh(298:352)=idh(89:143)+yab*hdh(67:121)
hfh(353:396)=idh(155:198)+yab*hdh(122:165)
hfh(397:429)=idh(210:242)+yab*hdh(166:198)
hfh(430:451)=idh(254:275)+yab*hdh(199:220)
hfh(452:462)=idh(287:297)+yab*hdh(221:231)
hfh(694:759)=idh(628:693)+yab*hdh(463:528)
hfh(760:814)=idh(705:759)+yab*hdh(529:583)
hfh(815:858)=idh(771:814)+yab*hdh(584:627)
hfh(859:891)=idh(826:858)+yab*hdh(628:660)
hfh(892:913)=idh(870:891)+yab*hdh(661:682)
hfh(914:924)=idh(903:913)+yab*hdh(683:693)
hfh(1387:1617)=idh(694:924)+xab*hdh(463:693)
hfh(1618:1683)=idh(1541:1606)+zab*hdh(1156:1221)
hfh(1684:1738)=idh(1618:1672)+zab*hdh(1222:1276)
hfh(1739:1782)=idh(1684:1727)+zab*hdh(1277:1320)
hfh(1783:1815)=idh(1739:1771)+zab*hdh(1321:1353)
hfh(1816:1837)=idh(1783:1804)+zab*hdh(1354:1375)
hfh(1838:1848)=idh(1816:1826)+zab*hdh(1376:1386)
hfh(2080:2310)=idh(1618:1848)+xab*hdh(1156:1386)
ifh(1:77)=kdh(1:77)+zab*idh(1:77)
ifh(78:143)=kdh(89:154)+zab*idh(78:143)
ifh(144:198)=kdh(166:220)+zab*idh(144:198)
ifh(199:242)=kdh(232:275)+zab*idh(199:242)
ifh(243:275)=kdh(287:319)+zab*idh(243:275)
ifh(276:297)=kdh(331:352)+zab*idh(276:297)
ifh(298:308)=kdh(364:374)+zab*idh(298:308)
ifh(309:385)=kdh(12:88)+yab*idh(1:77)
ifh(386:451)=kdh(100:165)+yab*idh(78:143)
ifh(452:506)=kdh(177:231)+yab*idh(144:198)
ifh(507:550)=kdh(243:286)+yab*idh(199:242)
ifh(551:583)=kdh(298:330)+yab*idh(243:275)
ifh(584:605)=kdh(342:363)+yab*idh(276:297)
ifh(606:616)=kdh(375:385)+yab*idh(298:308)
ifh(925:1001)=kdh(804:880)+yab*idh(617:693)
ifh(1002:1067)=kdh(892:957)+yab*idh(694:759)
ifh(1068:1122)=kdh(969:1023)+yab*idh(760:814)
ifh(1123:1166)=kdh(1035:1078)+yab*idh(815:858)
ifh(1167:1199)=kdh(1090:1122)+yab*idh(859:891)
ifh(1200:1221)=kdh(1134:1155)+yab*idh(892:913)
ifh(1222:1232)=kdh(1167:1177)+yab*idh(914:924)
ifh(1849:2156)=kdh(881:1188)+xab*idh(617:924)
ifh(2157:2233)=kdh(1981:2057)+zab*idh(1541:1617)
ifh(2234:2299)=kdh(2069:2134)+zab*idh(1618:1683)
ifh(2300:2354)=kdh(2146:2200)+zab*idh(1684:1738)
ifh(2355:2398)=kdh(2212:2255)+zab*idh(1739:1782)
ifh(2399:2431)=kdh(2267:2299)+zab*idh(1783:1815)
ifh(2432:2453)=kdh(2311:2332)+zab*idh(1816:1837)
ifh(2454:2464)=kdh(2344:2354)+zab*idh(1838:1848)
ifh(2773:3080)=kdh(2069:2376)+xab*idh(1541:1848)
psp(1:66)=ifh(1:66)+zab*hfh(1:66)
psp(67:121)=ifh(78:132)+zab*hfh(67:121)
psp(122:165)=ifh(144:187)+zab*hfh(122:165)
psp(166:198)=ifh(199:231)+zab*hfh(166:198)
psp(199:220)=ifh(243:264)+zab*hfh(199:220)
psp(221:231)=ifh(276:286)+zab*hfh(221:231)
psp(232:297)=ifh(12:77)+yab*hfh(1:66)
psp(298:352)=ifh(89:143)+yab*hfh(67:121)
psp(353:396)=ifh(155:198)+yab*hfh(122:165)
psp(397:429)=ifh(210:242)+yab*hfh(166:198)
psp(430:451)=ifh(254:275)+yab*hfh(199:220)
psp(452:462)=ifh(287:297)+yab*hfh(221:231)
psp(463:528)=ifh(320:385)+yab*hfh(232:297)
psp(529:583)=ifh(397:451)+yab*hfh(298:352)
psp(584:627)=ifh(463:506)+yab*hfh(353:396)
psp(628:660)=ifh(518:550)+yab*hfh(397:429)
psp(661:682)=ifh(562:583)+yab*hfh(430:451)
psp(683:693)=ifh(595:605)+yab*hfh(452:462)
psp(694:759)=ifh(925:990)+zab*hfh(694:759)
psp(760:814)=ifh(1002:1056)+zab*hfh(760:814)
psp(815:858)=ifh(1068:1111)+zab*hfh(815:858)
psp(859:891)=ifh(1123:1155)+zab*hfh(859:891)
psp(892:913)=ifh(1167:1188)+zab*hfh(892:913)
psp(914:924)=ifh(1200:1210)+zab*hfh(914:924)
psp(925:990)=ifh(936:1001)+yab*hfh(694:759)
psp(991:1045)=ifh(1013:1067)+yab*hfh(760:814)
psp(1046:1089)=ifh(1079:1122)+yab*hfh(815:858)
psp(1090:1122)=ifh(1134:1166)+yab*hfh(859:891)
psp(1123:1144)=ifh(1178:1199)+yab*hfh(892:913)
psp(1145:1155)=ifh(1211:1221)+yab*hfh(914:924)
psp(1156:1386)=ifh(78:308)+xab*hfh(1:231)
psp(1387:1617)=ifh(386:616)+xab*hfh(232:462)
psp(1618:1683)=ifh(1849:1914)+zab*hfh(1387:1452)
psp(1684:1738)=ifh(1926:1980)+zab*hfh(1453:1507)
psp(1739:1782)=ifh(1992:2035)+zab*hfh(1508:1551)
psp(1783:1815)=ifh(2047:2079)+zab*hfh(1552:1584)
psp(1816:1837)=ifh(2091:2112)+zab*hfh(1585:1606)
psp(1838:1848)=ifh(2124:2134)+zab*hfh(1607:1617)
psp(1849:2079)=ifh(1002:1232)+xab*hfh(694:924)
psp(2080:2145)=ifh(2157:2222)+zab*hfh(1618:1683)
psp(2146:2200)=ifh(2234:2288)+zab*hfh(1684:1738)
psp(2201:2244)=ifh(2300:2343)+zab*hfh(1739:1782)
psp(2245:2277)=ifh(2355:2387)+zab*hfh(1783:1815)
psp(2278:2299)=ifh(2399:2420)+zab*hfh(1816:1837)
psp(2300:2310)=ifh(2432:2442)+zab*hfh(1838:1848)
psp(2311:2376)=ifh(2168:2233)+yab*hfh(1618:1683)
psp(2377:2431)=ifh(2245:2299)+yab*hfh(1684:1738)
psp(2432:2475)=ifh(2311:2354)+yab*hfh(1739:1782)
psp(2476:2508)=ifh(2366:2398)+yab*hfh(1783:1815)
psp(2509:2530)=ifh(2410:2431)+yab*hfh(1816:1837)
psp(2531:2541)=ifh(2443:2453)+yab*hfh(1838:1848)
psp(2542:2772)=ifh(1926:2156)+xab*hfh(1387:1617)
psp(2773:2838)=ifh(2773:2838)+zab*hfh(2080:2145)
psp(2839:2893)=ifh(2850:2904)+zab*hfh(2146:2200)
psp(2894:2937)=ifh(2916:2959)+zab*hfh(2201:2244)
psp(2938:2970)=ifh(2971:3003)+zab*hfh(2245:2277)
psp(2971:2992)=ifh(3015:3036)+zab*hfh(2278:2299)
psp(2993:3003)=ifh(3048:3058)+zab*hfh(2300:2310)
psp(3004:3069)=ifh(2784:2849)+yab*hfh(2080:2145)
psp(3070:3124)=ifh(2861:2915)+yab*hfh(2146:2200)
psp(3125:3168)=ifh(2927:2970)+yab*hfh(2201:2244)
psp(3169:3201)=ifh(2982:3014)+yab*hfh(2245:2277)
psp(3202:3223)=ifh(3026:3047)+yab*hfh(2278:2299)
psp(3224:3234)=ifh(3059:3069)+yab*hfh(2300:2310)
psp(3235:3465)=ifh(2850:3080)+xab*hfh(2080:2310)
sp(1:231)=psp(1849:2079)*(-2.95803989154980806475d0)+psp(3004:3234
$)*2.95803989154980806475d0
sp(232:462)=psp(694:924)*(-2.09165006633518890666d0)+psp(2311:2541
$)*6.27495019900556627590d0
sp(463:693)=psp(1387:1617)*6.70820393249936941515d0+psp(1849:2079)
$*(-1.11803398874989490253d0)+psp(3004:3234)*(-1.118033988749894902
$53d0)
sp(694:924)=psp(232:462)*3.16227766016837907870d0+psp(694:924)*(-2
$.37170824512628453107d0)+psp(2311:2541)*(-2.37170824512628453107d0
$)
sp(925:1155)=psp(1:231)+psp(463:693)*(-3.00000000000000000000d0)+p
$sp(925:1155)*0.37500000000000000000d0+psp(2080:2310)*(-3.000000000
$00000000000d0)+psp(2542:2772)*0.75000000000000000000d0+psp(3235:34
$65)*0.37500000000000000000d0
sp(1156:1386)=psp(1156:1386)*3.16227766016837907870d0+psp(1618:184
$8)*(-2.37170824512628453107d0)+psp(2773:3003)*(-2.3717082451262845
$3107d0)
sp(1387:1617)=psp(463:693)*(-3.35410196624968470758d0)+psp(925:115
$5)*0.55901699437494745126d0+psp(2080:2310)*3.35410196624968470758d
$0+psp(3235:3465)*(-0.55901699437494745126d0)
sp(1618:1848)=psp(1618:1848)*(-6.27495019900556627590d0)+psp(2773:
$3003)*2.09165006633518890666d0
sp(1849:2079)=psp(925:1155)*0.73950997288745201619d0+psp(2542:2772
$)*(-4.43705983732471231917d0)+psp(3235:3465)*0.7395099728874520161
$9d0
do ji=0,8
ki=ji*231
jk=ji*11
do ii=0,20
k=ii*11
il=ii*99
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:99)=psp(496:594)*0.70156076002011391601d0+psp(1387:1485)*(-7.
$01560760020113871605d0)+psp(1882:1980)*3.50780380010056935802d0
sp(100:198)=psp(892:990)*(-8.87411967464942463835d0)+psp(1585:1683
$)*8.87411967464942463835d0
sp(199:297)=psp(298:396)*(-4.18330013267037692515d0)+psp(496:594)*
$0.52291251658379711564d0+psp(1189:1287)*12.54990039801113255180d0+
$psp(1387:1485)*(-1.04582503316759423129d0)+psp(1882:1980)*(-1.5687
$3754975139156898d0)
sp(298:396)=psp(694:792)*10.24695076595959974952d0+psp(892:990)*(-
$5.12347538297979987476d0)+psp(1585:1683)*(-5.12347538297979987476d
$0)
sp(397:495)=psp(100:198)*3.87298334620741613321d0+psp(298:396)*(-5
$.80947501931112419982d0)+psp(496:594)*0.48412291827592701665d0+psp
$(1189:1287)*(-5.80947501931112419982d0)+psp(1387:1485)*0.968245836
$55185403330d0+psp(1882:1980)*0.48412291827592701665d0
sp(496:594)=psp(1:99)+psp(199:297)*(-5.00000000000000000000d0)+psp
$(397:495)*1.87500000000000000000d0+psp(1090:1188)*(-5.000000000000
$00000000d0)+psp(1288:1386)*3.75000000000000000000d0+psp(1783:1881)
$*1.87500000000000000000d0
sp(595:693)=psp(595:693)*3.87298334620741613321d0+psp(793:891)*(-5
$.80947501931112419982d0)+psp(991:1089)*0.48412291827592701665d0+ps
$p(1486:1584)*(-5.80947501931112419982d0)+psp(1684:1782)*0.96824583
$655185403330d0+psp(1981:2079)*0.48412291827592701665d0
sp(694:792)=psp(199:297)*(-5.12347538297979987476d0)+psp(397:495)*
$2.56173769148989993738d0+psp(1090:1188)*5.12347538297979987476d0+p
$sp(1783:1881)*(-2.56173769148989993738d0)
sp(793:891)=psp(793:891)*(-12.54990039801113255180d0)+psp(991:1089
$)*1.56873754975139156898d0+psp(1486:1584)*4.18330013267037692515d0
$+psp(1684:1782)*1.04582503316759423129d0+psp(1981:2079)*(-0.522912
$51658379711564d0)
sp(892:990)=psp(397:495)*2.21852991866235615959d0+psp(1288:1386)*(
$-13.31117951197413695752d0)+psp(1783:1881)*2.21852991866235615959d
$0
sp(991:1089)=psp(991:1089)*3.50780380010056935802d0+psp(1684:1782)
$*(-7.01560760020113871605d0)+psp(1981:2079)*0.70156076002011391601
$d0
return
end
subroutine hrrspher_hgi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(4095),psp(5180)
real*8 hpi(819),ipi(1092),kpi(1404),lpi(1755),hdi(1638),idi(2184),
$kdi(2808),hfi(2730),ifi(3640),xab,yab,zab
sp(1:185)=psp(2221:2405)*4.03015973628837986809d0+psp(3886:4070)*(
$-13.43386578762789973496d0)+psp(4811:4995)*4.03015973628837986809d
$0
sp(186:370)=psp(926:1110)*2.32681380862329012515d0+psp(2961:3145)*
$(-23.26813808623289858701d0)+psp(4256:4440)*11.6340690431163995555
$2d0
sp(371:555)=psp(1851:2035)*(-19.84313483298440061731d0)+psp(2221:2
$405)*1.98431348329843992850d0+psp(3516:3700)*19.843134832984400617
$31d0+psp(4811:4995)*(-1.98431348329843992850d0)
sp(556:740)=psp(556:740)*(-7.24568837309471991404d0)+psp(926:1110)
$*2.71713313991052007879d0+psp(2591:2775)*21.73706511928419971014d0
$+psp(2961:3145)*(-5.43426627982104015757d0)+psp(4256:4440)*(-8.151
$39941973155934818d0)
sp(741:925)=psp(1481:1665)*14.49137674618940074822d0+psp(1851:2035
$)*(-14.49137674618940074822d0)+psp(2221:2405)*0.905711046636839989
$25d0+psp(3516:3700)*(-14.49137674618940074822d0)+psp(3886:4070)*1.
$81142209327367997851d0+psp(4811:4995)*0.90571104663683998925d0
sp(926:1110)=psp(186:370)*4.58257569495583982899d0+psp(556:740)*(-
$11.45643923738959912839d0)+psp(926:1110)*2.86410980934739978210d0+
$psp(2591:2775)*(-11.45643923738959912839d0)+psp(2961:3145)*5.72821
$961869479956420d0+psp(4256:4440)*2.86410980934739978210d0
sp(1111:1295)=psp(1:185)+psp(371:555)*(-7.50000000000000000000d0)+
$psp(741:925)*5.62500000000000000000d0+psp(1111:1295)*(-0.312500000
$00000000000d0)+psp(2406:2590)*(-7.50000000000000000000d0)+psp(2776
$:2960)*11.25000000000000000000d0+psp(3146:3330)*(-0.93750000000000
$000000d0)+psp(4071:4255)*5.62500000000000000000d0+psp(4441:4625)*(
$-0.93750000000000000000d0)+psp(4996:5180)*(-0.31250000000000000000
$d0)
sp(1296:1480)=psp(1296:1480)*4.58257569495583982899d0+psp(1666:185
$0)*(-11.45643923738959912839d0)+psp(2036:2220)*2.86410980934739978
$210d0+psp(3331:3515)*(-11.45643923738959912839d0)+psp(3701:3885)*5
$.72821961869479956420d0+psp(4626:4810)*2.86410980934739978210d0
sp(1481:1665)=psp(371:555)*(-7.24568837309471991404d0)+psp(741:925
$)*7.24568837309471991404d0+psp(1111:1295)*(-0.45285552331841999463
$d0)+psp(2406:2590)*7.24568837309471991404d0+psp(3146:3330)*(-0.452
$85552331841999463d0)+psp(4071:4255)*(-7.24568837309471991404d0)+ps
$p(4441:4625)*0.45285552331841999463d0+psp(4996:5180)*0.45285552331
$841999463d0
sp(1666:1850)=psp(1666:1850)*(-21.73706511928419971014d0)+psp(2036
$:2220)*8.15139941973155934818d0+psp(3331:3515)*7.24568837309471991
$404d0+psp(3701:3885)*5.43426627982104015757d0+psp(4626:4810)*(-2.7
$1713313991052007879d0)
sp(1851:2035)=psp(741:925)*4.96078370824610992429d0+psp(1111:1295)
$*(-0.49607837082461098133d0)+psp(2776:2960)*(-29.76470224947659914
$960d0)+psp(3146:3330)*2.48039185412305007716d0+psp(4071:4255)*4.96
$078370824610992429d0+psp(4441:4625)*2.48039185412305007716d0+psp(4
$996:5180)*(-0.49607837082461098133d0)
sp(2036:2220)=psp(2036:2220)*11.63406904311639955552d0+psp(3701:38
$85)*(-23.26813808623289858701d0)+psp(4626:4810)*2.3268138086232901
$2515d0
sp(2221:2405)=psp(1111:1295)*(-0.67169328938139605256d0)+psp(3146:
$3330)*10.07539934072089948813d0+psp(4441:4625)*(-10.07539934072089
$948813d0)+psp(4996:5180)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*185
do ki=1,185
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
hpi(1:78)=psp(274:351)+zab*psp(1:78)
hpi(79:143)=psp(365:429)+zab*psp(79:143)
hpi(144:195)=psp(443:494)+zab*psp(144:195)
hpi(196:234)=psp(508:546)+zab*psp(196:234)
hpi(235:260)=psp(560:585)+zab*psp(235:260)
hpi(261:273)=psp(599:611)+zab*psp(261:273)
hpi(274:351)=psp(287:364)+yab*psp(1:78)
hpi(352:416)=psp(378:442)+yab*psp(79:143)
hpi(417:468)=psp(456:507)+yab*psp(144:195)
hpi(469:507)=psp(521:559)+yab*psp(196:234)
hpi(508:533)=psp(573:598)+yab*psp(235:260)
hpi(534:546)=psp(612:624)+yab*psp(261:273)
hpi(547:819)=psp(365:637)+xab*psp(1:273)
ipi(1:91)=psp(638:728)+zab*psp(274:364)
ipi(92:169)=psp(742:819)+zab*psp(365:442)
ipi(170:234)=psp(833:897)+zab*psp(443:507)
ipi(235:286)=psp(911:962)+zab*psp(508:559)
ipi(287:325)=psp(976:1014)+zab*psp(560:598)
ipi(326:351)=psp(1028:1053)+zab*psp(599:624)
ipi(352:364)=psp(1067:1079)+zab*psp(625:637)
ipi(365:455)=psp(651:741)+yab*psp(274:364)
ipi(456:533)=psp(755:832)+yab*psp(365:442)
ipi(534:598)=psp(846:910)+yab*psp(443:507)
ipi(599:650)=psp(924:975)+yab*psp(508:559)
ipi(651:689)=psp(989:1027)+yab*psp(560:598)
ipi(690:715)=psp(1041:1066)+yab*psp(599:624)
ipi(716:728)=psp(1080:1092)+yab*psp(625:637)
ipi(729:1092)=psp(742:1105)+xab*psp(274:637)
kpi(1:104)=psp(1106:1209)+zab*psp(638:741)
kpi(105:195)=psp(1223:1313)+zab*psp(742:832)
kpi(196:273)=psp(1327:1404)+zab*psp(833:910)
kpi(274:338)=psp(1418:1482)+zab*psp(911:975)
kpi(339:390)=psp(1496:1547)+zab*psp(976:1027)
kpi(391:429)=psp(1561:1599)+zab*psp(1028:1066)
kpi(430:455)=psp(1613:1638)+zab*psp(1067:1092)
kpi(456:468)=psp(1652:1664)+zab*psp(1093:1105)
kpi(469:572)=psp(1119:1222)+yab*psp(638:741)
kpi(573:663)=psp(1236:1326)+yab*psp(742:832)
kpi(664:741)=psp(1340:1417)+yab*psp(833:910)
kpi(742:806)=psp(1431:1495)+yab*psp(911:975)
kpi(807:858)=psp(1509:1560)+yab*psp(976:1027)
kpi(859:897)=psp(1574:1612)+yab*psp(1028:1066)
kpi(898:923)=psp(1626:1651)+yab*psp(1067:1092)
kpi(924:936)=psp(1665:1677)+yab*psp(1093:1105)
kpi(937:1404)=psp(1223:1690)+xab*psp(638:1105)
lpi(1:117)=psp(1691:1807)+zab*psp(1106:1222)
lpi(118:221)=psp(1821:1924)+zab*psp(1223:1326)
lpi(222:312)=psp(1938:2028)+zab*psp(1327:1417)
lpi(313:390)=psp(2042:2119)+zab*psp(1418:1495)
lpi(391:455)=psp(2133:2197)+zab*psp(1496:1560)
lpi(456:507)=psp(2211:2262)+zab*psp(1561:1612)
lpi(508:546)=psp(2276:2314)+zab*psp(1613:1651)
lpi(547:572)=psp(2328:2353)+zab*psp(1652:1677)
lpi(573:585)=psp(2367:2379)+zab*psp(1678:1690)
lpi(586:702)=psp(1704:1820)+yab*psp(1106:1222)
lpi(703:806)=psp(1834:1937)+yab*psp(1223:1326)
lpi(807:897)=psp(1951:2041)+yab*psp(1327:1417)
lpi(898:975)=psp(2055:2132)+yab*psp(1418:1495)
lpi(976:1040)=psp(2146:2210)+yab*psp(1496:1560)
lpi(1041:1092)=psp(2224:2275)+yab*psp(1561:1612)
lpi(1093:1131)=psp(2289:2327)+yab*psp(1613:1651)
lpi(1132:1157)=psp(2341:2366)+yab*psp(1652:1677)
lpi(1158:1170)=psp(2380:2392)+yab*psp(1678:1690)
lpi(1171:1755)=psp(1821:2405)+xab*psp(1106:1690)
hdi(1:78)=ipi(1:78)+zab*hpi(1:78)
hdi(79:143)=ipi(92:156)+zab*hpi(79:143)
hdi(144:195)=ipi(170:221)+zab*hpi(144:195)
hdi(196:234)=ipi(235:273)+zab*hpi(196:234)
hdi(235:260)=ipi(287:312)+zab*hpi(235:260)
hdi(261:273)=ipi(326:338)+zab*hpi(261:273)
hdi(547:624)=ipi(378:455)+yab*hpi(274:351)
hdi(625:689)=ipi(469:533)+yab*hpi(352:416)
hdi(690:741)=ipi(547:598)+yab*hpi(417:468)
hdi(742:780)=ipi(612:650)+yab*hpi(469:507)
hdi(781:806)=ipi(664:689)+yab*hpi(508:533)
hdi(807:819)=ipi(703:715)+yab*hpi(534:546)
hdi(1366:1638)=ipi(820:1092)+xab*hpi(547:819)
idi(1:91)=kpi(1:91)+zab*ipi(1:91)
idi(92:169)=kpi(105:182)+zab*ipi(92:169)
idi(170:234)=kpi(196:260)+zab*ipi(170:234)
idi(235:286)=kpi(274:325)+zab*ipi(235:286)
idi(287:325)=kpi(339:377)+zab*ipi(287:325)
idi(326:351)=kpi(391:416)+zab*ipi(326:351)
idi(352:364)=kpi(430:442)+zab*ipi(352:364)
idi(729:819)=kpi(482:572)+yab*ipi(365:455)
idi(820:897)=kpi(586:663)+yab*ipi(456:533)
idi(898:962)=kpi(677:741)+yab*ipi(534:598)
idi(963:1014)=kpi(755:806)+yab*ipi(599:650)
idi(1015:1053)=kpi(820:858)+yab*ipi(651:689)
idi(1054:1079)=kpi(872:897)+yab*ipi(690:715)
idi(1080:1092)=kpi(911:923)+yab*ipi(716:728)
idi(1821:2184)=kpi(1041:1404)+xab*ipi(729:1092)
kdi(1:104)=lpi(1:104)+zab*kpi(1:104)
kdi(105:195)=lpi(118:208)+zab*kpi(105:195)
kdi(196:273)=lpi(222:299)+zab*kpi(196:273)
kdi(274:338)=lpi(313:377)+zab*kpi(274:338)
kdi(339:390)=lpi(391:442)+zab*kpi(339:390)
kdi(391:429)=lpi(456:494)+zab*kpi(391:429)
kdi(430:455)=lpi(508:533)+zab*kpi(430:455)
kdi(456:468)=lpi(547:559)+zab*kpi(456:468)
kdi(937:1040)=lpi(599:702)+yab*kpi(469:572)
kdi(1041:1131)=lpi(716:806)+yab*kpi(573:663)
kdi(1132:1209)=lpi(820:897)+yab*kpi(664:741)
kdi(1210:1274)=lpi(911:975)+yab*kpi(742:806)
kdi(1275:1326)=lpi(989:1040)+yab*kpi(807:858)
kdi(1327:1365)=lpi(1054:1092)+yab*kpi(859:897)
kdi(1366:1391)=lpi(1106:1131)+yab*kpi(898:923)
kdi(1392:1404)=lpi(1145:1157)+yab*kpi(924:936)
kdi(2341:2808)=lpi(1288:1755)+xab*kpi(937:1404)
hfi(1:78)=idi(1:78)+zab*hdi(1:78)
hfi(79:143)=idi(92:156)+zab*hdi(79:143)
hfi(144:195)=idi(170:221)+zab*hdi(144:195)
hfi(196:234)=idi(235:273)+zab*hdi(196:234)
hfi(235:260)=idi(287:312)+zab*hdi(235:260)
hfi(261:273)=idi(326:338)+zab*hdi(261:273)
hfi(274:351)=idi(14:91)+yab*hdi(1:78)
hfi(352:416)=idi(105:169)+yab*hdi(79:143)
hfi(417:468)=idi(183:234)+yab*hdi(144:195)
hfi(469:507)=idi(248:286)+yab*hdi(196:234)
hfi(508:533)=idi(300:325)+yab*hdi(235:260)
hfi(534:546)=idi(339:351)+yab*hdi(261:273)
hfi(820:897)=idi(742:819)+yab*hdi(547:624)
hfi(898:962)=idi(833:897)+yab*hdi(625:689)
hfi(963:1014)=idi(911:962)+yab*hdi(690:741)
hfi(1015:1053)=idi(976:1014)+yab*hdi(742:780)
hfi(1054:1079)=idi(1028:1053)+yab*hdi(781:806)
hfi(1080:1092)=idi(1067:1079)+yab*hdi(807:819)
hfi(1639:1911)=idi(820:1092)+xab*hdi(547:819)
hfi(1912:1989)=idi(1821:1898)+zab*hdi(1366:1443)
hfi(1990:2054)=idi(1912:1976)+zab*hdi(1444:1508)
hfi(2055:2106)=idi(1990:2041)+zab*hdi(1509:1560)
hfi(2107:2145)=idi(2055:2093)+zab*hdi(1561:1599)
hfi(2146:2171)=idi(2107:2132)+zab*hdi(1600:1625)
hfi(2172:2184)=idi(2146:2158)+zab*hdi(1626:1638)
hfi(2458:2730)=idi(1912:2184)+xab*hdi(1366:1638)
ifi(1:91)=kdi(1:91)+zab*idi(1:91)
ifi(92:169)=kdi(105:182)+zab*idi(92:169)
ifi(170:234)=kdi(196:260)+zab*idi(170:234)
ifi(235:286)=kdi(274:325)+zab*idi(235:286)
ifi(287:325)=kdi(339:377)+zab*idi(287:325)
ifi(326:351)=kdi(391:416)+zab*idi(326:351)
ifi(352:364)=kdi(430:442)+zab*idi(352:364)
ifi(365:455)=kdi(14:104)+yab*idi(1:91)
ifi(456:533)=kdi(118:195)+yab*idi(92:169)
ifi(534:598)=kdi(209:273)+yab*idi(170:234)
ifi(599:650)=kdi(287:338)+yab*idi(235:286)
ifi(651:689)=kdi(352:390)+yab*idi(287:325)
ifi(690:715)=kdi(404:429)+yab*idi(326:351)
ifi(716:728)=kdi(443:455)+yab*idi(352:364)
ifi(1093:1183)=kdi(950:1040)+yab*idi(729:819)
ifi(1184:1261)=kdi(1054:1131)+yab*idi(820:897)
ifi(1262:1326)=kdi(1145:1209)+yab*idi(898:962)
ifi(1327:1378)=kdi(1223:1274)+yab*idi(963:1014)
ifi(1379:1417)=kdi(1288:1326)+yab*idi(1015:1053)
ifi(1418:1443)=kdi(1340:1365)+yab*idi(1054:1079)
ifi(1444:1456)=kdi(1379:1391)+yab*idi(1080:1092)
ifi(2185:2548)=kdi(1041:1404)+xab*idi(729:1092)
ifi(2549:2639)=kdi(2341:2431)+zab*idi(1821:1911)
ifi(2640:2717)=kdi(2445:2522)+zab*idi(1912:1989)
ifi(2718:2782)=kdi(2536:2600)+zab*idi(1990:2054)
ifi(2783:2834)=kdi(2614:2665)+zab*idi(2055:2106)
ifi(2835:2873)=kdi(2679:2717)+zab*idi(2107:2145)
ifi(2874:2899)=kdi(2731:2756)+zab*idi(2146:2171)
ifi(2900:2912)=kdi(2770:2782)+zab*idi(2172:2184)
ifi(3277:3640)=kdi(2445:2808)+xab*idi(1821:2184)
psp(1:78)=ifi(1:78)+zab*hfi(1:78)
psp(79:143)=ifi(92:156)+zab*hfi(79:143)
psp(144:195)=ifi(170:221)+zab*hfi(144:195)
psp(196:234)=ifi(235:273)+zab*hfi(196:234)
psp(235:260)=ifi(287:312)+zab*hfi(235:260)
psp(261:273)=ifi(326:338)+zab*hfi(261:273)
psp(274:351)=ifi(14:91)+yab*hfi(1:78)
psp(352:416)=ifi(105:169)+yab*hfi(79:143)
psp(417:468)=ifi(183:234)+yab*hfi(144:195)
psp(469:507)=ifi(248:286)+yab*hfi(196:234)
psp(508:533)=ifi(300:325)+yab*hfi(235:260)
psp(534:546)=ifi(339:351)+yab*hfi(261:273)
psp(547:624)=ifi(378:455)+yab*hfi(274:351)
psp(625:689)=ifi(469:533)+yab*hfi(352:416)
psp(690:741)=ifi(547:598)+yab*hfi(417:468)
psp(742:780)=ifi(612:650)+yab*hfi(469:507)
psp(781:806)=ifi(664:689)+yab*hfi(508:533)
psp(807:819)=ifi(703:715)+yab*hfi(534:546)
psp(820:897)=ifi(1093:1170)+zab*hfi(820:897)
psp(898:962)=ifi(1184:1248)+zab*hfi(898:962)
psp(963:1014)=ifi(1262:1313)+zab*hfi(963:1014)
psp(1015:1053)=ifi(1327:1365)+zab*hfi(1015:1053)
psp(1054:1079)=ifi(1379:1404)+zab*hfi(1054:1079)
psp(1080:1092)=ifi(1418:1430)+zab*hfi(1080:1092)
psp(1093:1170)=ifi(1106:1183)+yab*hfi(820:897)
psp(1171:1235)=ifi(1197:1261)+yab*hfi(898:962)
psp(1236:1287)=ifi(1275:1326)+yab*hfi(963:1014)
psp(1288:1326)=ifi(1340:1378)+yab*hfi(1015:1053)
psp(1327:1352)=ifi(1392:1417)+yab*hfi(1054:1079)
psp(1353:1365)=ifi(1431:1443)+yab*hfi(1080:1092)
psp(1366:1638)=ifi(92:364)+xab*hfi(1:273)
psp(1639:1911)=ifi(456:728)+xab*hfi(274:546)
psp(1912:1989)=ifi(2185:2262)+zab*hfi(1639:1716)
psp(1990:2054)=ifi(2276:2340)+zab*hfi(1717:1781)
psp(2055:2106)=ifi(2354:2405)+zab*hfi(1782:1833)
psp(2107:2145)=ifi(2419:2457)+zab*hfi(1834:1872)
psp(2146:2171)=ifi(2471:2496)+zab*hfi(1873:1898)
psp(2172:2184)=ifi(2510:2522)+zab*hfi(1899:1911)
psp(2185:2457)=ifi(1184:1456)+xab*hfi(820:1092)
psp(2458:2535)=ifi(2549:2626)+zab*hfi(1912:1989)
psp(2536:2600)=ifi(2640:2704)+zab*hfi(1990:2054)
psp(2601:2652)=ifi(2718:2769)+zab*hfi(2055:2106)
psp(2653:2691)=ifi(2783:2821)+zab*hfi(2107:2145)
psp(2692:2717)=ifi(2835:2860)+zab*hfi(2146:2171)
psp(2718:2730)=ifi(2874:2886)+zab*hfi(2172:2184)
psp(2731:2808)=ifi(2562:2639)+yab*hfi(1912:1989)
psp(2809:2873)=ifi(2653:2717)+yab*hfi(1990:2054)
psp(2874:2925)=ifi(2731:2782)+yab*hfi(2055:2106)
psp(2926:2964)=ifi(2796:2834)+yab*hfi(2107:2145)
psp(2965:2990)=ifi(2848:2873)+yab*hfi(2146:2171)
psp(2991:3003)=ifi(2887:2899)+yab*hfi(2172:2184)
psp(3004:3276)=ifi(2276:2548)+xab*hfi(1639:1911)
psp(3277:3354)=ifi(3277:3354)+zab*hfi(2458:2535)
psp(3355:3419)=ifi(3368:3432)+zab*hfi(2536:2600)
psp(3420:3471)=ifi(3446:3497)+zab*hfi(2601:2652)
psp(3472:3510)=ifi(3511:3549)+zab*hfi(2653:2691)
psp(3511:3536)=ifi(3563:3588)+zab*hfi(2692:2717)
psp(3537:3549)=ifi(3602:3614)+zab*hfi(2718:2730)
psp(3550:3627)=ifi(3290:3367)+yab*hfi(2458:2535)
psp(3628:3692)=ifi(3381:3445)+yab*hfi(2536:2600)
psp(3693:3744)=ifi(3459:3510)+yab*hfi(2601:2652)
psp(3745:3783)=ifi(3524:3562)+yab*hfi(2653:2691)
psp(3784:3809)=ifi(3576:3601)+yab*hfi(2692:2717)
psp(3810:3822)=ifi(3615:3627)+yab*hfi(2718:2730)
psp(3823:4095)=ifi(3368:3640)+xab*hfi(2458:2730)
sp(1:273)=psp(2185:2457)*(-2.95803989154980806475d0)+psp(3550:3822
$)*2.95803989154980806475d0
sp(274:546)=psp(820:1092)*(-2.09165006633518890666d0)+psp(2731:300
$3)*6.27495019900556627590d0
sp(547:819)=psp(1639:1911)*6.70820393249936941515d0+psp(2185:2457)
$*(-1.11803398874989490253d0)+psp(3550:3822)*(-1.118033988749894902
$53d0)
sp(820:1092)=psp(274:546)*3.16227766016837907870d0+psp(820:1092)*(
$-2.37170824512628453107d0)+psp(2731:3003)*(-2.37170824512628453107
$d0)
sp(1093:1365)=psp(1:273)+psp(547:819)*(-3.00000000000000000000d0)+
$psp(1093:1365)*0.37500000000000000000d0+psp(2458:2730)*(-3.0000000
$0000000000000d0)+psp(3004:3276)*0.75000000000000000000d0+psp(3823:
$4095)*0.37500000000000000000d0
sp(1366:1638)=psp(1366:1638)*3.16227766016837907870d0+psp(1912:218
$4)*(-2.37170824512628453107d0)+psp(3277:3549)*(-2.3717082451262845
$3107d0)
sp(1639:1911)=psp(547:819)*(-3.35410196624968470758d0)+psp(1093:13
$65)*0.55901699437494745126d0+psp(2458:2730)*3.35410196624968470758
$d0+psp(3823:4095)*(-0.55901699437494745126d0)
sp(1912:2184)=psp(1912:2184)*(-6.27495019900556627590d0)+psp(3277:
$3549)*2.09165006633518890666d0
sp(2185:2457)=psp(1093:1365)*0.73950997288745201619d0+psp(3004:327
$6)*(-4.43705983732471231917d0)+psp(3823:4095)*0.739509972887452016
$19d0
do ji=0,8
ki=ji*273
jk=ji*13
do ii=0,20
k=ii*13
il=ii*117
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:117)=psp(586:702)*0.70156076002011391601d0+psp(1639:1755)*(-7
$.01560760020113871605d0)+psp(2224:2340)*3.50780380010056935802d0
sp(118:234)=psp(1054:1170)*(-8.87411967464942463835d0)+psp(1873:19
$89)*8.87411967464942463835d0
sp(235:351)=psp(352:468)*(-4.18330013267037692515d0)+psp(586:702)*
$0.52291251658379711564d0+psp(1405:1521)*12.54990039801113255180d0+
$psp(1639:1755)*(-1.04582503316759423129d0)+psp(2224:2340)*(-1.5687
$3754975139156898d0)
sp(352:468)=psp(820:936)*10.24695076595959974952d0+psp(1054:1170)*
$(-5.12347538297979987476d0)+psp(1873:1989)*(-5.1234753829797998747
$6d0)
sp(469:585)=psp(118:234)*3.87298334620741613321d0+psp(352:468)*(-5
$.80947501931112419982d0)+psp(586:702)*0.48412291827592701665d0+psp
$(1405:1521)*(-5.80947501931112419982d0)+psp(1639:1755)*0.968245836
$55185403330d0+psp(2224:2340)*0.48412291827592701665d0
sp(586:702)=psp(1:117)+psp(235:351)*(-5.00000000000000000000d0)+ps
$p(469:585)*1.87500000000000000000d0+psp(1288:1404)*(-5.00000000000
$000000000d0)+psp(1522:1638)*3.75000000000000000000d0+psp(2107:2223
$)*1.87500000000000000000d0
sp(703:819)=psp(703:819)*3.87298334620741613321d0+psp(937:1053)*(-
$5.80947501931112419982d0)+psp(1171:1287)*0.48412291827592701665d0+
$psp(1756:1872)*(-5.80947501931112419982d0)+psp(1990:2106)*0.968245
$83655185403330d0+psp(2341:2457)*0.48412291827592701665d0
sp(820:936)=psp(235:351)*(-5.12347538297979987476d0)+psp(469:585)*
$2.56173769148989993738d0+psp(1288:1404)*5.12347538297979987476d0+p
$sp(2107:2223)*(-2.56173769148989993738d0)
sp(937:1053)=psp(937:1053)*(-12.54990039801113255180d0)+psp(1171:1
$287)*1.56873754975139156898d0+psp(1756:1872)*4.1833001326703769251
$5d0+psp(1990:2106)*1.04582503316759423129d0+psp(2341:2457)*(-0.522
$91251658379711564d0)
sp(1054:1170)=psp(469:585)*2.21852991866235615959d0+psp(1522:1638)
$*(-13.31117951197413695752d0)+psp(2107:2223)*2.2185299186623561595
$9d0
sp(1171:1287)=psp(1171:1287)*3.50780380010056935802d0+psp(1990:210
$6)*(-7.01560760020113871605d0)+psp(2341:2457)*0.701560760020113916
$01d0
return
end
subroutine hrrspher_hhs_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
real*8 sp(441),psp(251)
real*8 psp2(441)
real*8 hps(63),ips(84),kps(108),lps(135),mps(165),hds(126),ids(168
$),kds(216),lds(270),hfs(210),ifs(280),kfs(360),hgs(315),igs(420),x
$ab,yab,zab
hps(1:6)=psp(22:27)+zab*psp(1:6)
hps(7:11)=psp(29:33)+zab*psp(7:11)
hps(12:15)=psp(35:38)+zab*psp(12:15)
hps(16:18)=psp(40:42)+zab*psp(16:18)
hps(19:20)=psp(44:45)+zab*psp(19:20)
hps(21)=psp(47)+zab*psp(21)
hps(22:27)=psp(23:28)+yab*psp(1:6)
hps(28:32)=psp(30:34)+yab*psp(7:11)
hps(33:36)=psp(36:39)+yab*psp(12:15)
hps(37:39)=psp(41:43)+yab*psp(16:18)
hps(40:41)=psp(45:46)+yab*psp(19:20)
hps(42)=psp(48)+yab*psp(21)
hps(43:63)=psp(29:49)+xab*psp(1:21)
ips(1:7)=psp(50:56)+zab*psp(22:28)
ips(8:13)=psp(58:63)+zab*psp(29:34)
ips(14:18)=psp(65:69)+zab*psp(35:39)
ips(19:22)=psp(71:74)+zab*psp(40:43)
ips(23:25)=psp(76:78)+zab*psp(44:46)
ips(26:27)=psp(80:81)+zab*psp(47:48)
ips(28)=psp(83)+zab*psp(49)
ips(29:35)=psp(51:57)+yab*psp(22:28)
ips(36:41)=psp(59:64)+yab*psp(29:34)
ips(42:46)=psp(66:70)+yab*psp(35:39)
ips(47:50)=psp(72:75)+yab*psp(40:43)
ips(51:53)=psp(77:79)+yab*psp(44:46)
ips(54:55)=psp(81:82)+yab*psp(47:48)
ips(56)=psp(84)+yab*psp(49)
ips(57:84)=psp(58:85)+xab*psp(22:49)
kps(1:8)=psp(86:93)+zab*psp(50:57)
kps(9:15)=psp(95:101)+zab*psp(58:64)
kps(16:21)=psp(103:108)+zab*psp(65:70)
kps(22:26)=psp(110:114)+zab*psp(71:75)
kps(27:30)=psp(116:119)+zab*psp(76:79)
kps(31:33)=psp(121:123)+zab*psp(80:82)
kps(34:35)=psp(125:126)+zab*psp(83:84)
kps(36)=psp(128)+zab*psp(85)
kps(37:44)=psp(87:94)+yab*psp(50:57)
kps(45:51)=psp(96:102)+yab*psp(58:64)
kps(52:57)=psp(104:109)+yab*psp(65:70)
kps(58:62)=psp(111:115)+yab*psp(71:75)
kps(63:66)=psp(117:120)+yab*psp(76:79)
kps(67:69)=psp(122:124)+yab*psp(80:82)
kps(70:71)=psp(126:127)+yab*psp(83:84)
kps(72)=psp(129)+yab*psp(85)
kps(73:108)=psp(95:130)+xab*psp(50:85)
lps(1:9)=psp(131:139)+zab*psp(86:94)
lps(10:17)=psp(141:148)+zab*psp(95:102)
lps(18:24)=psp(150:156)+zab*psp(103:109)
lps(25:30)=psp(158:163)+zab*psp(110:115)
lps(31:35)=psp(165:169)+zab*psp(116:120)
lps(36:39)=psp(171:174)+zab*psp(121:124)
lps(40:42)=psp(176:178)+zab*psp(125:127)
lps(43:44)=psp(180:181)+zab*psp(128:129)
lps(45)=psp(183)+zab*psp(130)
lps(46:54)=psp(132:140)+yab*psp(86:94)
lps(55:62)=psp(142:149)+yab*psp(95:102)
lps(63:69)=psp(151:157)+yab*psp(103:109)
lps(70:75)=psp(159:164)+yab*psp(110:115)
lps(76:80)=psp(166:170)+yab*psp(116:120)
lps(81:84)=psp(172:175)+yab*psp(121:124)
lps(85:87)=psp(177:179)+yab*psp(125:127)
lps(88:89)=psp(181:182)+yab*psp(128:129)
lps(90)=psp(184)+yab*psp(130)
lps(91:135)=psp(141:185)+xab*psp(86:130)
mps(1:10)=psp(186:195)+zab*psp(131:140)
mps(11:19)=psp(197:205)+zab*psp(141:149)
mps(20:27)=psp(207:214)+zab*psp(150:157)
mps(28:34)=psp(216:222)+zab*psp(158:164)
mps(35:40)=psp(224:229)+zab*psp(165:170)
mps(41:45)=psp(231:235)+zab*psp(171:175)
mps(46:49)=psp(237:240)+zab*psp(176:179)
mps(50:52)=psp(242:244)+zab*psp(180:182)
mps(53:54)=psp(246:247)+zab*psp(183:184)
mps(55)=psp(249)+zab*psp(185)
mps(56:65)=psp(187:196)+yab*psp(131:140)
mps(66:74)=psp(198:206)+yab*psp(141:149)
mps(75:82)=psp(208:215)+yab*psp(150:157)
mps(83:89)=psp(217:223)+yab*psp(158:164)
mps(90:95)=psp(225:230)+yab*psp(165:170)
mps(96:100)=psp(232:236)+yab*psp(171:175)
mps(101:104)=psp(238:241)+yab*psp(176:179)
mps(105:107)=psp(243:245)+yab*psp(180:182)
mps(108:109)=psp(247:248)+yab*psp(183:184)
mps(110)=psp(250)+yab*psp(185)
mps(111:165)=psp(197:251)+xab*psp(131:185)
hds(1:6)=ips(1:6)+zab*hps(1:6)
hds(7:11)=ips(8:12)+zab*hps(7:11)
hds(12:15)=ips(14:17)+zab*hps(12:15)
hds(16:18)=ips(19:21)+zab*hps(16:18)
hds(19:20)=ips(23:24)+zab*hps(19:20)
hds(21)=ips(26)+zab*hps(21)
hds(43:48)=ips(30:35)+yab*hps(22:27)
hds(49:53)=ips(37:41)+yab*hps(28:32)
hds(54:57)=ips(43:46)+yab*hps(33:36)
hds(58:60)=ips(48:50)+yab*hps(37:39)
hds(61:62)=ips(52:53)+yab*hps(40:41)
hds(63)=ips(55)+yab*hps(42)
hds(106:126)=ips(64:84)+xab*hps(43:63)
ids(1:7)=kps(1:7)+zab*ips(1:7)
ids(8:13)=kps(9:14)+zab*ips(8:13)
ids(14:18)=kps(16:20)+zab*ips(14:18)
ids(19:22)=kps(22:25)+zab*ips(19:22)
ids(23:25)=kps(27:29)+zab*ips(23:25)
ids(26:27)=kps(31:32)+zab*ips(26:27)
ids(28)=kps(34)+zab*ips(28)
ids(57:63)=kps(38:44)+yab*ips(29:35)
ids(64:69)=kps(46:51)+yab*ips(36:41)
ids(70:74)=kps(53:57)+yab*ips(42:46)
ids(75:78)=kps(59:62)+yab*ips(47:50)
ids(79:81)=kps(64:66)+yab*ips(51:53)
ids(82:83)=kps(68:69)+yab*ips(54:55)
ids(84)=kps(71)+yab*ips(56)
ids(141:168)=kps(81:108)+xab*ips(57:84)
kds(1:8)=lps(1:8)+zab*kps(1:8)
kds(9:15)=lps(10:16)+zab*kps(9:15)
kds(16:21)=lps(18:23)+zab*kps(16:21)
kds(22:26)=lps(25:29)+zab*kps(22:26)
kds(27:30)=lps(31:34)+zab*kps(27:30)
kds(31:33)=lps(36:38)+zab*kps(31:33)
kds(34:35)=lps(40:41)+zab*kps(34:35)
kds(36)=lps(43)+zab*kps(36)
kds(73:80)=lps(47:54)+yab*kps(37:44)
kds(81:87)=lps(56:62)+yab*kps(45:51)
kds(88:93)=lps(64:69)+yab*kps(52:57)
kds(94:98)=lps(71:75)+yab*kps(58:62)
kds(99:102)=lps(77:80)+yab*kps(63:66)
kds(103:105)=lps(82:84)+yab*kps(67:69)
kds(106:107)=lps(86:87)+yab*kps(70:71)
kds(108)=lps(89)+yab*kps(72)
kds(181:216)=lps(100:135)+xab*kps(73:108)
lds(1:9)=mps(1:9)+zab*lps(1:9)
lds(10:17)=mps(11:18)+zab*lps(10:17)
lds(18:24)=mps(20:26)+zab*lps(18:24)
lds(25:30)=mps(28:33)+zab*lps(25:30)
lds(31:35)=mps(35:39)+zab*lps(31:35)
lds(36:39)=mps(41:44)+zab*lps(36:39)
lds(40:42)=mps(46:48)+zab*lps(40:42)
lds(43:44)=mps(50:51)+zab*lps(43:44)
lds(45)=mps(53)+zab*lps(45)
lds(91:99)=mps(57:65)+yab*lps(46:54)
lds(100:107)=mps(67:74)+yab*lps(55:62)
lds(108:114)=mps(76:82)+yab*lps(63:69)
lds(115:120)=mps(84:89)+yab*lps(70:75)
lds(121:125)=mps(91:95)+yab*lps(76:80)
lds(126:129)=mps(97:100)+yab*lps(81:84)
lds(130:132)=mps(102:104)+yab*lps(85:87)
lds(133:134)=mps(106:107)+yab*lps(88:89)
lds(135)=mps(109)+yab*lps(90)
lds(226:270)=mps(121:165)+xab*lps(91:135)
hfs(1:6)=ids(1:6)+zab*hds(1:6)
hfs(7:11)=ids(8:12)+zab*hds(7:11)
hfs(12:15)=ids(14:17)+zab*hds(12:15)
hfs(16:18)=ids(19:21)+zab*hds(16:18)
hfs(19:20)=ids(23:24)+zab*hds(19:20)
hfs(21)=ids(26)+zab*hds(21)
hfs(64:69)=ids(58:63)+yab*hds(43:48)
hfs(70:74)=ids(65:69)+yab*hds(49:53)
hfs(75:78)=ids(71:74)+yab*hds(54:57)
hfs(79:81)=ids(76:78)+yab*hds(58:60)
hfs(82:83)=ids(80:81)+yab*hds(61:62)
hfs(84)=ids(83)+yab*hds(63)
hfs(85:105)=ids(8:28)+xab*hds(1:21)
hfs(169:174)=ids(142:147)+yab*hds(106:111)
hfs(175:179)=ids(149:153)+yab*hds(112:116)
hfs(180:183)=ids(155:158)+yab*hds(117:120)
hfs(184:186)=ids(160:162)+yab*hds(121:123)
hfs(187:188)=ids(164:165)+yab*hds(124:125)
hfs(189)=ids(167)+yab*hds(126)
hfs(190:210)=ids(148:168)+xab*hds(106:126)
ifs(1:7)=kds(1:7)+zab*ids(1:7)
ifs(8:13)=kds(9:14)+zab*ids(8:13)
ifs(14:18)=kds(16:20)+zab*ids(14:18)
ifs(19:22)=kds(22:25)+zab*ids(19:22)
ifs(23:25)=kds(27:29)+zab*ids(23:25)
ifs(26:27)=kds(31:32)+zab*ids(26:27)
ifs(28)=kds(34)+zab*ids(28)
ifs(85:91)=kds(74:80)+yab*ids(57:63)
ifs(92:97)=kds(82:87)+yab*ids(64:69)
ifs(98:102)=kds(89:93)+yab*ids(70:74)
ifs(103:106)=kds(95:98)+yab*ids(75:78)
ifs(107:109)=kds(100:102)+yab*ids(79:81)
ifs(110:111)=kds(104:105)+yab*ids(82:83)
ifs(112)=kds(107)+yab*ids(84)
ifs(113:140)=kds(9:36)+xab*ids(1:28)
ifs(225:231)=kds(182:188)+yab*ids(141:147)
ifs(232:237)=kds(190:195)+yab*ids(148:153)
ifs(238:242)=kds(197:201)+yab*ids(154:158)
ifs(243:246)=kds(203:206)+yab*ids(159:162)
ifs(247:249)=kds(208:210)+yab*ids(163:165)
ifs(250:251)=kds(212:213)+yab*ids(166:167)
ifs(252)=kds(215)+yab*ids(168)
ifs(253:280)=kds(189:216)+xab*ids(141:168)
kfs(1:8)=lds(1:8)+zab*kds(1:8)
kfs(9:15)=lds(10:16)+zab*kds(9:15)
kfs(16:21)=lds(18:23)+zab*kds(16:21)
kfs(22:26)=lds(25:29)+zab*kds(22:26)
kfs(27:30)=lds(31:34)+zab*kds(27:30)
kfs(31:33)=lds(36:38)+zab*kds(31:33)
kfs(34:35)=lds(40:41)+zab*kds(34:35)
kfs(36)=lds(43)+zab*kds(36)
kfs(109:116)=lds(92:99)+yab*kds(73:80)
kfs(117:123)=lds(101:107)+yab*kds(81:87)
kfs(124:129)=lds(109:114)+yab*kds(88:93)
kfs(130:134)=lds(116:120)+yab*kds(94:98)
kfs(135:138)=lds(122:125)+yab*kds(99:102)
kfs(139:141)=lds(127:129)+yab*kds(103:105)
kfs(142:143)=lds(131:132)+yab*kds(106:107)
kfs(144)=lds(134)+yab*kds(108)
kfs(145:180)=lds(10:45)+xab*kds(1:36)
kfs(289:296)=lds(227:234)+yab*kds(181:188)
kfs(297:303)=lds(236:242)+yab*kds(189:195)
kfs(304:309)=lds(244:249)+yab*kds(196:201)
kfs(310:314)=lds(251:255)+yab*kds(202:206)
kfs(315:318)=lds(257:260)+yab*kds(207:210)
kfs(319:321)=lds(262:264)+yab*kds(211:213)
kfs(322:323)=lds(266:267)+yab*kds(214:215)
kfs(324)=lds(269)+yab*kds(216)
kfs(325:360)=lds(235:270)+xab*kds(181:216)
hgs(1:6)=ifs(1:6)+zab*hfs(1:6)
hgs(7:11)=ifs(8:12)+zab*hfs(7:11)
hgs(12:15)=ifs(14:17)+zab*hfs(12:15)
hgs(16:18)=ifs(19:21)+zab*hfs(16:18)
hgs(19:20)=ifs(23:24)+zab*hfs(19:20)
hgs(21)=ifs(26)+zab*hfs(21)
hgs(22:27)=ifs(2:7)+yab*hfs(1:6)
hgs(28:32)=ifs(9:13)+yab*hfs(7:11)
hgs(33:36)=ifs(15:18)+yab*hfs(12:15)
hgs(37:39)=ifs(20:22)+yab*hfs(16:18)
hgs(40:41)=ifs(24:25)+yab*hfs(19:20)
hgs(42)=ifs(27)+yab*hfs(21)
hgs(64:69)=ifs(85:90)+zab*hfs(64:69)
hgs(70:74)=ifs(92:96)+zab*hfs(70:74)
hgs(75:78)=ifs(98:101)+zab*hfs(75:78)
hgs(79:81)=ifs(103:105)+zab*hfs(79:81)
hgs(82:83)=ifs(107:108)+zab*hfs(82:83)
hgs(84)=ifs(110)+zab*hfs(84)
hgs(85:90)=ifs(86:91)+yab*hfs(64:69)
hgs(91:95)=ifs(93:97)+yab*hfs(70:74)
hgs(96:99)=ifs(99:102)+yab*hfs(75:78)
hgs(100:102)=ifs(104:106)+yab*hfs(79:81)
hgs(103:104)=ifs(108:109)+yab*hfs(82:83)
hgs(105)=ifs(111)+yab*hfs(84)
hgs(106:126)=ifs(8:28)+xab*hfs(1:21)
hgs(127:132)=ifs(114:119)+yab*hfs(85:90)
hgs(133:137)=ifs(121:125)+yab*hfs(91:95)
hgs(138:141)=ifs(127:130)+yab*hfs(96:99)
hgs(142:144)=ifs(132:134)+yab*hfs(100:102)
hgs(145:146)=ifs(136:137)+yab*hfs(103:104)
hgs(147)=ifs(139)+yab*hfs(105)
hgs(232:237)=ifs(226:231)+yab*hfs(169:174)
hgs(238:242)=ifs(233:237)+yab*hfs(175:179)
hgs(243:246)=ifs(239:242)+yab*hfs(180:183)
hgs(247:249)=ifs(244:246)+yab*hfs(184:186)
hgs(250:251)=ifs(248:249)+yab*hfs(187:188)
hgs(252)=ifs(251)+yab*hfs(189)
hgs(253:258)=ifs(253:258)+zab*hfs(190:195)
hgs(259:263)=ifs(260:264)+zab*hfs(196:200)
hgs(264:267)=ifs(266:269)+zab*hfs(201:204)
hgs(268:270)=ifs(271:273)+zab*hfs(205:207)
hgs(271:272)=ifs(275:276)+zab*hfs(208:209)
hgs(273)=ifs(278)+zab*hfs(210)
hgs(295:315)=ifs(260:280)+xab*hfs(190:210)
igs(1:7)=kfs(1:7)+zab*ifs(1:7)
igs(8:13)=kfs(9:14)+zab*ifs(8:13)
igs(14:18)=kfs(16:20)+zab*ifs(14:18)
igs(19:22)=kfs(22:25)+zab*ifs(19:22)
igs(23:25)=kfs(27:29)+zab*ifs(23:25)
igs(26:27)=kfs(31:32)+zab*ifs(26:27)
igs(28)=kfs(34)+zab*ifs(28)
igs(29:35)=kfs(2:8)+yab*ifs(1:7)
igs(36:41)=kfs(10:15)+yab*ifs(8:13)
igs(42:46)=kfs(17:21)+yab*ifs(14:18)
igs(47:50)=kfs(23:26)+yab*ifs(19:22)
igs(51:53)=kfs(28:30)+yab*ifs(23:25)
igs(54:55)=kfs(32:33)+yab*ifs(26:27)
igs(56)=kfs(35)+yab*ifs(28)
igs(85:91)=kfs(109:115)+zab*ifs(85:91)
igs(92:97)=kfs(117:122)+zab*ifs(92:97)
igs(98:102)=kfs(124:128)+zab*ifs(98:102)
igs(103:106)=kfs(130:133)+zab*ifs(103:106)
igs(107:109)=kfs(135:137)+zab*ifs(107:109)
igs(110:111)=kfs(139:140)+zab*ifs(110:111)
igs(112)=kfs(142)+zab*ifs(112)
igs(113:119)=kfs(110:116)+yab*ifs(85:91)
igs(120:125)=kfs(118:123)+yab*ifs(92:97)
igs(126:130)=kfs(125:129)+yab*ifs(98:102)
igs(131:134)=kfs(131:134)+yab*ifs(103:106)
igs(135:137)=kfs(136:138)+yab*ifs(107:109)
igs(138:139)=kfs(140:141)+yab*ifs(110:111)
igs(140)=kfs(143)+yab*ifs(112)
igs(141:168)=kfs(9:36)+xab*ifs(1:28)
igs(169:175)=kfs(146:152)+yab*ifs(113:119)
igs(176:181)=kfs(154:159)+yab*ifs(120:125)
igs(182:186)=kfs(161:165)+yab*ifs(126:130)
igs(187:190)=kfs(167:170)+yab*ifs(131:134)
igs(191:193)=kfs(172:174)+yab*ifs(135:137)
igs(194:195)=kfs(176:177)+yab*ifs(138:139)
igs(196)=kfs(179)+yab*ifs(140)
igs(309:315)=kfs(290:296)+yab*ifs(225:231)
igs(316:321)=kfs(298:303)+yab*ifs(232:237)
igs(322:326)=kfs(305:309)+yab*ifs(238:242)
igs(327:330)=kfs(311:314)+yab*ifs(243:246)
igs(331:333)=kfs(316:318)+yab*ifs(247:249)
igs(334:335)=kfs(320:321)+yab*ifs(250:251)
igs(336)=kfs(323)+yab*ifs(252)
igs(337:343)=kfs(325:331)+zab*ifs(253:259)
igs(344:349)=kfs(333:338)+zab*ifs(260:265)
igs(350:354)=kfs(340:344)+zab*ifs(266:270)
igs(355:358)=kfs(346:349)+zab*ifs(271:274)
igs(359:361)=kfs(351:353)+zab*ifs(275:277)
igs(362:363)=kfs(355:356)+zab*ifs(278:279)
igs(364)=kfs(358)+zab*ifs(280)
igs(393:420)=kfs(333:360)+xab*ifs(253:280)
psp2(1:6)=igs(1:6)+zab*hgs(1:6)
psp2(7:11)=igs(8:12)+zab*hgs(7:11)
psp2(12:15)=igs(14:17)+zab*hgs(12:15)
psp2(16:18)=igs(19:21)+zab*hgs(16:18)
psp2(19:20)=igs(23:24)+zab*hgs(19:20)
psp2(21)=igs(26)+zab*hgs(21)
psp2(22:27)=igs(2:7)+yab*hgs(1:6)
psp2(28:32)=igs(9:13)+yab*hgs(7:11)
psp2(33:36)=igs(15:18)+yab*hgs(12:15)
psp2(37:39)=igs(20:22)+yab*hgs(16:18)
psp2(40:41)=igs(24:25)+yab*hgs(19:20)
psp2(42)=igs(27)+yab*hgs(21)
psp2(43:48)=igs(30:35)+yab*hgs(22:27)
psp2(49:53)=igs(37:41)+yab*hgs(28:32)
psp2(54:57)=igs(43:46)+yab*hgs(33:36)
psp2(58:60)=igs(48:50)+yab*hgs(37:39)
psp2(61:62)=igs(52:53)+yab*hgs(40:41)
psp2(63)=igs(55)+yab*hgs(42)
psp2(64:69)=igs(85:90)+zab*hgs(64:69)
psp2(70:74)=igs(92:96)+zab*hgs(70:74)
psp2(75:78)=igs(98:101)+zab*hgs(75:78)
psp2(79:81)=igs(103:105)+zab*hgs(79:81)
psp2(82:83)=igs(107:108)+zab*hgs(82:83)
psp2(84)=igs(110)+zab*hgs(84)
psp2(85:90)=igs(113:118)+zab*hgs(85:90)
psp2(91:95)=igs(120:124)+zab*hgs(91:95)
psp2(96:99)=igs(126:129)+zab*hgs(96:99)
psp2(100:102)=igs(131:133)+zab*hgs(100:102)
psp2(103:104)=igs(135:136)+zab*hgs(103:104)
psp2(105)=igs(138)+zab*hgs(105)
psp2(106:111)=igs(114:119)+yab*hgs(85:90)
psp2(112:116)=igs(121:125)+yab*hgs(91:95)
psp2(117:120)=igs(127:130)+yab*hgs(96:99)
psp2(121:123)=igs(132:134)+yab*hgs(100:102)
psp2(124:125)=igs(136:137)+yab*hgs(103:104)
psp2(126)=igs(139)+yab*hgs(105)
psp2(127:147)=igs(8:28)+xab*hgs(1:21)
psp2(148:168)=igs(36:56)+xab*hgs(22:42)
psp2(169:174)=igs(170:175)+yab*hgs(127:132)
psp2(175:179)=igs(177:181)+yab*hgs(133:137)
psp2(180:183)=igs(183:186)+yab*hgs(138:141)
psp2(184:186)=igs(188:190)+yab*hgs(142:144)
psp2(187:188)=igs(192:193)+yab*hgs(145:146)
psp2(189)=igs(195)+yab*hgs(147)
psp2(190:210)=igs(92:112)+xab*hgs(64:84)
psp2(211:231)=igs(120:140)+xab*hgs(85:105)
psp2(232:252)=igs(148:168)+xab*hgs(106:126)
psp2(253:273)=igs(176:196)+xab*hgs(127:147)
psp2(274:279)=igs(309:314)+zab*hgs(232:237)
psp2(280:284)=igs(316:320)+zab*hgs(238:242)
psp2(285:288)=igs(322:325)+zab*hgs(243:246)
psp2(289:291)=igs(327:329)+zab*hgs(247:249)
psp2(292:293)=igs(331:332)+zab*hgs(250:251)
psp2(294)=igs(334)+zab*hgs(252)
psp2(295:300)=igs(310:315)+yab*hgs(232:237)
psp2(301:305)=igs(317:321)+yab*hgs(238:242)
psp2(306:309)=igs(323:326)+yab*hgs(243:246)
psp2(310:312)=igs(328:330)+yab*hgs(247:249)
psp2(313:314)=igs(332:333)+yab*hgs(250:251)
psp2(315)=igs(335)+yab*hgs(252)
psp2(316:321)=igs(337:342)+zab*hgs(253:258)
psp2(322:326)=igs(344:348)+zab*hgs(259:263)
psp2(327:330)=igs(350:353)+zab*hgs(264:267)
psp2(331:333)=igs(355:357)+zab*hgs(268:270)
psp2(334:335)=igs(359:360)+zab*hgs(271:272)
psp2(336)=igs(362)+zab*hgs(273)
psp2(337:342)=igs(338:343)+yab*hgs(253:258)
psp2(343:347)=igs(345:349)+yab*hgs(259:263)
psp2(348:351)=igs(351:354)+yab*hgs(264:267)
psp2(352:354)=igs(356:358)+yab*hgs(268:270)
psp2(355:356)=igs(360:361)+yab*hgs(271:272)
psp2(357)=igs(363)+yab*hgs(273)
psp2(358:378)=igs(316:336)+xab*hgs(232:252)
psp2(379:384)=igs(393:398)+zab*hgs(295:300)
psp2(385:389)=igs(400:404)+zab*hgs(301:305)
psp2(390:393)=igs(406:409)+zab*hgs(306:309)
psp2(394:396)=igs(411:413)+zab*hgs(310:312)
psp2(397:398)=igs(415:416)+zab*hgs(313:314)
psp2(399)=igs(418)+zab*hgs(315)
psp2(400:405)=igs(394:399)+yab*hgs(295:300)
psp2(406:410)=igs(401:405)+yab*hgs(301:305)
psp2(411:414)=igs(407:410)+yab*hgs(306:309)
psp2(415:417)=igs(412:414)+yab*hgs(310:312)
psp2(418:419)=igs(416:417)+yab*hgs(313:314)
psp2(420)=igs(419)+yab*hgs(315)
psp2(421:441)=igs(400:420)+xab*hgs(295:315)
sp(1:21)=psp2(106:126)*0.70156076002011391601d0+psp2(295:315)*(-7.
$01560760020113871605d0)+psp2(400:420)*3.50780380010056935802d0
sp(22:42)=psp2(190:210)*(-8.87411967464942463835d0)+psp2(337:357)*
$8.87411967464942463835d0
sp(43:63)=psp2(64:84)*(-4.18330013267037692515d0)+psp2(106:126)*0.
$52291251658379711564d0+psp2(253:273)*12.54990039801113255180d0+psp
$2(295:315)*(-1.04582503316759423129d0)+psp2(400:420)*(-1.568737549
$75139156898d0)
sp(64:84)=psp2(148:168)*10.24695076595959974952d0+psp2(190:210)*(-
$5.12347538297979987476d0)+psp2(337:357)*(-5.12347538297979987476d0
$)
sp(85:105)=psp2(22:42)*3.87298334620741613321d0+psp2(64:84)*(-5.80
$947501931112419982d0)+psp2(106:126)*0.48412291827592701665d0+psp2(
$253:273)*(-5.80947501931112419982d0)+psp2(295:315)*0.9682458365518
$5403330d0+psp2(400:420)*0.48412291827592701665d0
sp(106:126)=psp2(1:21)+psp2(43:63)*(-5.00000000000000000000d0)+psp
$2(85:105)*1.87500000000000000000d0+psp2(232:252)*(-5.0000000000000
$0000000d0)+psp2(274:294)*3.75000000000000000000d0+psp2(379:399)*1.
$87500000000000000000d0
sp(127:147)=psp2(127:147)*3.87298334620741613321d0+psp2(169:189)*(
$-5.80947501931112419982d0)+psp2(211:231)*0.48412291827592701665d0+
$psp2(316:336)*(-5.80947501931112419982d0)+psp2(358:378)*0.96824583
$655185403330d0+psp2(421:441)*0.48412291827592701665d0
sp(148:168)=psp2(43:63)*(-5.12347538297979987476d0)+psp2(85:105)*2
$.56173769148989993738d0+psp2(232:252)*5.12347538297979987476d0+psp
$2(379:399)*(-2.56173769148989993738d0)
sp(169:189)=psp2(169:189)*(-12.54990039801113255180d0)+psp2(211:23
$1)*1.56873754975139156898d0+psp2(316:336)*4.18330013267037692515d0
$+psp2(358:378)*1.04582503316759423129d0+psp2(421:441)*(-0.52291251
$658379711564d0)
sp(190:210)=psp2(85:105)*2.21852991866235615959d0+psp2(274:294)*(-
$13.31117951197413695752d0)+psp2(379:399)*2.21852991866235615959d0
sp(211:231)=psp2(211:231)*3.50780380010056935802d0+psp2(358:378)*(
$-7.01560760020113871605d0)+psp2(421:441)*0.70156076002011391601d0
do ji=1,21
ii=(ji-1)*11
do ki=1,11
psp2(ii+ki)=sp((ki-1)*21+ji)
enddo
enddo
sp(1:11)=psp2(56:66)*0.70156076002011391601d0+psp2(155:165)*(-7.01
$560760020113871605d0)+psp2(210:220)*3.50780380010056935802d0
sp(12:22)=psp2(100:110)*(-8.87411967464942463835d0)+psp2(177:187)*
$8.87411967464942463835d0
sp(23:33)=psp2(34:44)*(-4.18330013267037692515d0)+psp2(56:66)*0.52
$291251658379711564d0+psp2(133:143)*12.54990039801113255180d0+psp2(
$155:165)*(-1.04582503316759423129d0)+psp2(210:220)*(-1.56873754975
$139156898d0)
sp(34:44)=psp2(78:88)*10.24695076595959974952d0+psp2(100:110)*(-5.
$12347538297979987476d0)+psp2(177:187)*(-5.12347538297979987476d0)
sp(45:55)=psp2(12:22)*3.87298334620741613321d0+psp2(34:44)*(-5.809
$47501931112419982d0)+psp2(56:66)*0.48412291827592701665d0+psp2(133
$:143)*(-5.80947501931112419982d0)+psp2(155:165)*0.9682458365518540
$3330d0+psp2(210:220)*0.48412291827592701665d0
sp(56:66)=psp2(1:11)+psp2(23:33)*(-5.00000000000000000000d0)+psp2(
$45:55)*1.87500000000000000000d0+psp2(122:132)*(-5.0000000000000000
$0000d0)+psp2(144:154)*3.75000000000000000000d0+psp2(199:209)*1.875
$00000000000000000d0
sp(67:77)=psp2(67:77)*3.87298334620741613321d0+psp2(89:99)*(-5.809
$47501931112419982d0)+psp2(111:121)*0.48412291827592701665d0+psp2(1
$66:176)*(-5.80947501931112419982d0)+psp2(188:198)*0.96824583655185
$403330d0+psp2(221:231)*0.48412291827592701665d0
sp(78:88)=psp2(23:33)*(-5.12347538297979987476d0)+psp2(45:55)*2.56
$173769148989993738d0+psp2(122:132)*5.12347538297979987476d0+psp2(1
$99:209)*(-2.56173769148989993738d0)
sp(89:99)=psp2(89:99)*(-12.54990039801113255180d0)+psp2(111:121)*1
$.56873754975139156898d0+psp2(166:176)*4.18330013267037692515d0+psp
$2(188:198)*1.04582503316759423129d0+psp2(221:231)*(-0.522912516583
$79711564d0)
sp(100:110)=psp2(45:55)*2.21852991866235615959d0+psp2(144:154)*(-1
$3.31117951197413695752d0)+psp2(199:209)*2.21852991866235615959d0
sp(111:121)=psp2(111:121)*3.50780380010056935802d0+psp2(188:198)*(
$-7.01560760020113871605d0)+psp2(221:231)*0.70156076002011391601d0
return
end
subroutine hrrspher_hhp_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(1323),psp(753)
real*8 psp2(1323)
real*8 hpp(189),ipp(252),kpp(324),lpp(405),mpp(495),hdp(378),idp(5
$04),kdp(648),ldp(810),hfp(630),ifp(840),kfp(1080),hgp(945),igp(126
$0),xab,yab,zab
hpp(1:18)=psp(64:81)+zab*psp(1:18)
hpp(19:33)=psp(85:99)+zab*psp(19:33)
hpp(34:45)=psp(103:114)+zab*psp(34:45)
hpp(46:54)=psp(118:126)+zab*psp(46:54)
hpp(55:60)=psp(130:135)+zab*psp(55:60)
hpp(61:63)=psp(139:141)+zab*psp(61:63)
hpp(64:81)=psp(67:84)+yab*psp(1:18)
hpp(82:96)=psp(88:102)+yab*psp(19:33)
hpp(97:108)=psp(106:117)+yab*psp(34:45)
hpp(109:117)=psp(121:129)+yab*psp(46:54)
hpp(118:123)=psp(133:138)+yab*psp(55:60)
hpp(124:126)=psp(142:144)+yab*psp(61:63)
hpp(127:189)=psp(85:147)+xab*psp(1:63)
ipp(1:21)=psp(148:168)+zab*psp(64:84)
ipp(22:39)=psp(172:189)+zab*psp(85:102)
ipp(40:54)=psp(193:207)+zab*psp(103:117)
ipp(55:66)=psp(211:222)+zab*psp(118:129)
ipp(67:75)=psp(226:234)+zab*psp(130:138)
ipp(76:81)=psp(238:243)+zab*psp(139:144)
ipp(82:84)=psp(247:249)+zab*psp(145:147)
ipp(85:105)=psp(151:171)+yab*psp(64:84)
ipp(106:123)=psp(175:192)+yab*psp(85:102)
ipp(124:138)=psp(196:210)+yab*psp(103:117)
ipp(139:150)=psp(214:225)+yab*psp(118:129)
ipp(151:159)=psp(229:237)+yab*psp(130:138)
ipp(160:165)=psp(241:246)+yab*psp(139:144)
ipp(166:168)=psp(250:252)+yab*psp(145:147)
ipp(169:252)=psp(172:255)+xab*psp(64:147)
kpp(1:24)=psp(256:279)+zab*psp(148:171)
kpp(25:45)=psp(283:303)+zab*psp(172:192)
kpp(46:63)=psp(307:324)+zab*psp(193:210)
kpp(64:78)=psp(328:342)+zab*psp(211:225)
kpp(79:90)=psp(346:357)+zab*psp(226:237)
kpp(91:99)=psp(361:369)+zab*psp(238:246)
kpp(100:105)=psp(373:378)+zab*psp(247:252)
kpp(106:108)=psp(382:384)+zab*psp(253:255)
kpp(109:132)=psp(259:282)+yab*psp(148:171)
kpp(133:153)=psp(286:306)+yab*psp(172:192)
kpp(154:171)=psp(310:327)+yab*psp(193:210)
kpp(172:186)=psp(331:345)+yab*psp(211:225)
kpp(187:198)=psp(349:360)+yab*psp(226:237)
kpp(199:207)=psp(364:372)+yab*psp(238:246)
kpp(208:213)=psp(376:381)+yab*psp(247:252)
kpp(214:216)=psp(385:387)+yab*psp(253:255)
kpp(217:324)=psp(283:390)+xab*psp(148:255)
lpp(1:27)=psp(391:417)+zab*psp(256:282)
lpp(28:51)=psp(421:444)+zab*psp(283:306)
lpp(52:72)=psp(448:468)+zab*psp(307:327)
lpp(73:90)=psp(472:489)+zab*psp(328:345)
lpp(91:105)=psp(493:507)+zab*psp(346:360)
lpp(106:117)=psp(511:522)+zab*psp(361:372)
lpp(118:126)=psp(526:534)+zab*psp(373:381)
lpp(127:132)=psp(538:543)+zab*psp(382:387)
lpp(133:135)=psp(547:549)+zab*psp(388:390)
lpp(136:162)=psp(394:420)+yab*psp(256:282)
lpp(163:186)=psp(424:447)+yab*psp(283:306)
lpp(187:207)=psp(451:471)+yab*psp(307:327)
lpp(208:225)=psp(475:492)+yab*psp(328:345)
lpp(226:240)=psp(496:510)+yab*psp(346:360)
lpp(241:252)=psp(514:525)+yab*psp(361:372)
lpp(253:261)=psp(529:537)+yab*psp(373:381)
lpp(262:267)=psp(541:546)+yab*psp(382:387)
lpp(268:270)=psp(550:552)+yab*psp(388:390)
lpp(271:405)=psp(421:555)+xab*psp(256:390)
mpp(1:30)=psp(556:585)+zab*psp(391:420)
mpp(31:57)=psp(589:615)+zab*psp(421:447)
mpp(58:81)=psp(619:642)+zab*psp(448:471)
mpp(82:102)=psp(646:666)+zab*psp(472:492)
mpp(103:120)=psp(670:687)+zab*psp(493:510)
mpp(121:135)=psp(691:705)+zab*psp(511:525)
mpp(136:147)=psp(709:720)+zab*psp(526:537)
mpp(148:156)=psp(724:732)+zab*psp(538:546)
mpp(157:162)=psp(736:741)+zab*psp(547:552)
mpp(163:165)=psp(745:747)+zab*psp(553:555)
mpp(166:195)=psp(559:588)+yab*psp(391:420)
mpp(196:222)=psp(592:618)+yab*psp(421:447)
mpp(223:246)=psp(622:645)+yab*psp(448:471)
mpp(247:267)=psp(649:669)+yab*psp(472:492)
mpp(268:285)=psp(673:690)+yab*psp(493:510)
mpp(286:300)=psp(694:708)+yab*psp(511:525)
mpp(301:312)=psp(712:723)+yab*psp(526:537)
mpp(313:321)=psp(727:735)+yab*psp(538:546)
mpp(322:327)=psp(739:744)+yab*psp(547:552)
mpp(328:330)=psp(748:750)+yab*psp(553:555)
mpp(331:495)=psp(589:753)+xab*psp(391:555)
hdp(1:18)=ipp(1:18)+zab*hpp(1:18)
hdp(19:33)=ipp(22:36)+zab*hpp(19:33)
hdp(34:45)=ipp(40:51)+zab*hpp(34:45)
hdp(46:54)=ipp(55:63)+zab*hpp(46:54)
hdp(55:60)=ipp(67:72)+zab*hpp(55:60)
hdp(61:63)=ipp(76:78)+zab*hpp(61:63)
hdp(127:144)=ipp(88:105)+yab*hpp(64:81)
hdp(145:159)=ipp(109:123)+yab*hpp(82:96)
hdp(160:171)=ipp(127:138)+yab*hpp(97:108)
hdp(172:180)=ipp(142:150)+yab*hpp(109:117)
hdp(181:186)=ipp(154:159)+yab*hpp(118:123)
hdp(187:189)=ipp(163:165)+yab*hpp(124:126)
hdp(316:378)=ipp(190:252)+xab*hpp(127:189)
idp(1:21)=kpp(1:21)+zab*ipp(1:21)
idp(22:39)=kpp(25:42)+zab*ipp(22:39)
idp(40:54)=kpp(46:60)+zab*ipp(40:54)
idp(55:66)=kpp(64:75)+zab*ipp(55:66)
idp(67:75)=kpp(79:87)+zab*ipp(67:75)
idp(76:81)=kpp(91:96)+zab*ipp(76:81)
idp(82:84)=kpp(100:102)+zab*ipp(82:84)
idp(169:189)=kpp(112:132)+yab*ipp(85:105)
idp(190:207)=kpp(136:153)+yab*ipp(106:123)
idp(208:222)=kpp(157:171)+yab*ipp(124:138)
idp(223:234)=kpp(175:186)+yab*ipp(139:150)
idp(235:243)=kpp(190:198)+yab*ipp(151:159)
idp(244:249)=kpp(202:207)+yab*ipp(160:165)
idp(250:252)=kpp(211:213)+yab*ipp(166:168)
idp(421:504)=kpp(241:324)+xab*ipp(169:252)
kdp(1:24)=lpp(1:24)+zab*kpp(1:24)
kdp(25:45)=lpp(28:48)+zab*kpp(25:45)
kdp(46:63)=lpp(52:69)+zab*kpp(46:63)
kdp(64:78)=lpp(73:87)+zab*kpp(64:78)
kdp(79:90)=lpp(91:102)+zab*kpp(79:90)
kdp(91:99)=lpp(106:114)+zab*kpp(91:99)
kdp(100:105)=lpp(118:123)+zab*kpp(100:105)
kdp(106:108)=lpp(127:129)+zab*kpp(106:108)
kdp(217:240)=lpp(139:162)+yab*kpp(109:132)
kdp(241:261)=lpp(166:186)+yab*kpp(133:153)
kdp(262:279)=lpp(190:207)+yab*kpp(154:171)
kdp(280:294)=lpp(211:225)+yab*kpp(172:186)
kdp(295:306)=lpp(229:240)+yab*kpp(187:198)
kdp(307:315)=lpp(244:252)+yab*kpp(199:207)
kdp(316:321)=lpp(256:261)+yab*kpp(208:213)
kdp(322:324)=lpp(265:267)+yab*kpp(214:216)
kdp(541:648)=lpp(298:405)+xab*kpp(217:324)
ldp(1:27)=mpp(1:27)+zab*lpp(1:27)
ldp(28:51)=mpp(31:54)+zab*lpp(28:51)
ldp(52:72)=mpp(58:78)+zab*lpp(52:72)
ldp(73:90)=mpp(82:99)+zab*lpp(73:90)
ldp(91:105)=mpp(103:117)+zab*lpp(91:105)
ldp(106:117)=mpp(121:132)+zab*lpp(106:117)
ldp(118:126)=mpp(136:144)+zab*lpp(118:126)
ldp(127:132)=mpp(148:153)+zab*lpp(127:132)
ldp(133:135)=mpp(157:159)+zab*lpp(133:135)
ldp(271:297)=mpp(169:195)+yab*lpp(136:162)
ldp(298:321)=mpp(199:222)+yab*lpp(163:186)
ldp(322:342)=mpp(226:246)+yab*lpp(187:207)
ldp(343:360)=mpp(250:267)+yab*lpp(208:225)
ldp(361:375)=mpp(271:285)+yab*lpp(226:240)
ldp(376:387)=mpp(289:300)+yab*lpp(241:252)
ldp(388:396)=mpp(304:312)+yab*lpp(253:261)
ldp(397:402)=mpp(316:321)+yab*lpp(262:267)
ldp(403:405)=mpp(325:327)+yab*lpp(268:270)
ldp(676:810)=mpp(361:495)+xab*lpp(271:405)
hfp(1:18)=idp(1:18)+zab*hdp(1:18)
hfp(19:33)=idp(22:36)+zab*hdp(19:33)
hfp(34:45)=idp(40:51)+zab*hdp(34:45)
hfp(46:54)=idp(55:63)+zab*hdp(46:54)
hfp(55:60)=idp(67:72)+zab*hdp(55:60)
hfp(61:63)=idp(76:78)+zab*hdp(61:63)
hfp(190:207)=idp(172:189)+yab*hdp(127:144)
hfp(208:222)=idp(193:207)+yab*hdp(145:159)
hfp(223:234)=idp(211:222)+yab*hdp(160:171)
hfp(235:243)=idp(226:234)+yab*hdp(172:180)
hfp(244:249)=idp(238:243)+yab*hdp(181:186)
hfp(250:252)=idp(247:249)+yab*hdp(187:189)
hfp(253:315)=idp(22:84)+xab*hdp(1:63)
hfp(505:522)=idp(424:441)+yab*hdp(316:333)
hfp(523:537)=idp(445:459)+yab*hdp(334:348)
hfp(538:549)=idp(463:474)+yab*hdp(349:360)
hfp(550:558)=idp(478:486)+yab*hdp(361:369)
hfp(559:564)=idp(490:495)+yab*hdp(370:375)
hfp(565:567)=idp(499:501)+yab*hdp(376:378)
hfp(568:630)=idp(442:504)+xab*hdp(316:378)
ifp(1:21)=kdp(1:21)+zab*idp(1:21)
ifp(22:39)=kdp(25:42)+zab*idp(22:39)
ifp(40:54)=kdp(46:60)+zab*idp(40:54)
ifp(55:66)=kdp(64:75)+zab*idp(55:66)
ifp(67:75)=kdp(79:87)+zab*idp(67:75)
ifp(76:81)=kdp(91:96)+zab*idp(76:81)
ifp(82:84)=kdp(100:102)+zab*idp(82:84)
ifp(253:273)=kdp(220:240)+yab*idp(169:189)
ifp(274:291)=kdp(244:261)+yab*idp(190:207)
ifp(292:306)=kdp(265:279)+yab*idp(208:222)
ifp(307:318)=kdp(283:294)+yab*idp(223:234)
ifp(319:327)=kdp(298:306)+yab*idp(235:243)
ifp(328:333)=kdp(310:315)+yab*idp(244:249)
ifp(334:336)=kdp(319:321)+yab*idp(250:252)
ifp(337:420)=kdp(25:108)+xab*idp(1:84)
ifp(673:693)=kdp(544:564)+yab*idp(421:441)
ifp(694:711)=kdp(568:585)+yab*idp(442:459)
ifp(712:726)=kdp(589:603)+yab*idp(460:474)
ifp(727:738)=kdp(607:618)+yab*idp(475:486)
ifp(739:747)=kdp(622:630)+yab*idp(487:495)
ifp(748:753)=kdp(634:639)+yab*idp(496:501)
ifp(754:756)=kdp(643:645)+yab*idp(502:504)
ifp(757:840)=kdp(565:648)+xab*idp(421:504)
kfp(1:24)=ldp(1:24)+zab*kdp(1:24)
kfp(25:45)=ldp(28:48)+zab*kdp(25:45)
kfp(46:63)=ldp(52:69)+zab*kdp(46:63)
kfp(64:78)=ldp(73:87)+zab*kdp(64:78)
kfp(79:90)=ldp(91:102)+zab*kdp(79:90)
kfp(91:99)=ldp(106:114)+zab*kdp(91:99)
kfp(100:105)=ldp(118:123)+zab*kdp(100:105)
kfp(106:108)=ldp(127:129)+zab*kdp(106:108)
kfp(325:348)=ldp(274:297)+yab*kdp(217:240)
kfp(349:369)=ldp(301:321)+yab*kdp(241:261)
kfp(370:387)=ldp(325:342)+yab*kdp(262:279)
kfp(388:402)=ldp(346:360)+yab*kdp(280:294)
kfp(403:414)=ldp(364:375)+yab*kdp(295:306)
kfp(415:423)=ldp(379:387)+yab*kdp(307:315)
kfp(424:429)=ldp(391:396)+yab*kdp(316:321)
kfp(430:432)=ldp(400:402)+yab*kdp(322:324)
kfp(433:540)=ldp(28:135)+xab*kdp(1:108)
kfp(865:888)=ldp(679:702)+yab*kdp(541:564)
kfp(889:909)=ldp(706:726)+yab*kdp(565:585)
kfp(910:927)=ldp(730:747)+yab*kdp(586:603)
kfp(928:942)=ldp(751:765)+yab*kdp(604:618)
kfp(943:954)=ldp(769:780)+yab*kdp(619:630)
kfp(955:963)=ldp(784:792)+yab*kdp(631:639)
kfp(964:969)=ldp(796:801)+yab*kdp(640:645)
kfp(970:972)=ldp(805:807)+yab*kdp(646:648)
kfp(973:1080)=ldp(703:810)+xab*kdp(541:648)
hgp(1:18)=ifp(1:18)+zab*hfp(1:18)
hgp(19:33)=ifp(22:36)+zab*hfp(19:33)
hgp(34:45)=ifp(40:51)+zab*hfp(34:45)
hgp(46:54)=ifp(55:63)+zab*hfp(46:54)
hgp(55:60)=ifp(67:72)+zab*hfp(55:60)
hgp(61:63)=ifp(76:78)+zab*hfp(61:63)
hgp(64:81)=ifp(4:21)+yab*hfp(1:18)
hgp(82:96)=ifp(25:39)+yab*hfp(19:33)
hgp(97:108)=ifp(43:54)+yab*hfp(34:45)
hgp(109:117)=ifp(58:66)+yab*hfp(46:54)
hgp(118:123)=ifp(70:75)+yab*hfp(55:60)
hgp(124:126)=ifp(79:81)+yab*hfp(61:63)
hgp(190:207)=ifp(253:270)+zab*hfp(190:207)
hgp(208:222)=ifp(274:288)+zab*hfp(208:222)
hgp(223:234)=ifp(292:303)+zab*hfp(223:234)
hgp(235:243)=ifp(307:315)+zab*hfp(235:243)
hgp(244:249)=ifp(319:324)+zab*hfp(244:249)
hgp(250:252)=ifp(328:330)+zab*hfp(250:252)
hgp(253:270)=ifp(256:273)+yab*hfp(190:207)
hgp(271:285)=ifp(277:291)+yab*hfp(208:222)
hgp(286:297)=ifp(295:306)+yab*hfp(223:234)
hgp(298:306)=ifp(310:318)+yab*hfp(235:243)
hgp(307:312)=ifp(322:327)+yab*hfp(244:249)
hgp(313:315)=ifp(331:333)+yab*hfp(250:252)
hgp(316:378)=ifp(22:84)+xab*hfp(1:63)
hgp(379:396)=ifp(340:357)+yab*hfp(253:270)
hgp(397:411)=ifp(361:375)+yab*hfp(271:285)
hgp(412:423)=ifp(379:390)+yab*hfp(286:297)
hgp(424:432)=ifp(394:402)+yab*hfp(298:306)
hgp(433:438)=ifp(406:411)+yab*hfp(307:312)
hgp(439:441)=ifp(415:417)+yab*hfp(313:315)
hgp(694:711)=ifp(676:693)+yab*hfp(505:522)
hgp(712:726)=ifp(697:711)+yab*hfp(523:537)
hgp(727:738)=ifp(715:726)+yab*hfp(538:549)
hgp(739:747)=ifp(730:738)+yab*hfp(550:558)
hgp(748:753)=ifp(742:747)+yab*hfp(559:564)
hgp(754:756)=ifp(751:753)+yab*hfp(565:567)
hgp(757:774)=ifp(757:774)+zab*hfp(568:585)
hgp(775:789)=ifp(778:792)+zab*hfp(586:600)
hgp(790:801)=ifp(796:807)+zab*hfp(601:612)
hgp(802:810)=ifp(811:819)+zab*hfp(613:621)
hgp(811:816)=ifp(823:828)+zab*hfp(622:627)
hgp(817:819)=ifp(832:834)+zab*hfp(628:630)
hgp(883:945)=ifp(778:840)+xab*hfp(568:630)
igp(1:21)=kfp(1:21)+zab*ifp(1:21)
igp(22:39)=kfp(25:42)+zab*ifp(22:39)
igp(40:54)=kfp(46:60)+zab*ifp(40:54)
igp(55:66)=kfp(64:75)+zab*ifp(55:66)
igp(67:75)=kfp(79:87)+zab*ifp(67:75)
igp(76:81)=kfp(91:96)+zab*ifp(76:81)
igp(82:84)=kfp(100:102)+zab*ifp(82:84)
igp(85:105)=kfp(4:24)+yab*ifp(1:21)
igp(106:123)=kfp(28:45)+yab*ifp(22:39)
igp(124:138)=kfp(49:63)+yab*ifp(40:54)
igp(139:150)=kfp(67:78)+yab*ifp(55:66)
igp(151:159)=kfp(82:90)+yab*ifp(67:75)
igp(160:165)=kfp(94:99)+yab*ifp(76:81)
igp(166:168)=kfp(103:105)+yab*ifp(82:84)
igp(253:273)=kfp(325:345)+zab*ifp(253:273)
igp(274:291)=kfp(349:366)+zab*ifp(274:291)
igp(292:306)=kfp(370:384)+zab*ifp(292:306)
igp(307:318)=kfp(388:399)+zab*ifp(307:318)
igp(319:327)=kfp(403:411)+zab*ifp(319:327)
igp(328:333)=kfp(415:420)+zab*ifp(328:333)
igp(334:336)=kfp(424:426)+zab*ifp(334:336)
igp(337:357)=kfp(328:348)+yab*ifp(253:273)
igp(358:375)=kfp(352:369)+yab*ifp(274:291)
igp(376:390)=kfp(373:387)+yab*ifp(292:306)
igp(391:402)=kfp(391:402)+yab*ifp(307:318)
igp(403:411)=kfp(406:414)+yab*ifp(319:327)
igp(412:417)=kfp(418:423)+yab*ifp(328:333)
igp(418:420)=kfp(427:429)+yab*ifp(334:336)
igp(421:504)=kfp(25:108)+xab*ifp(1:84)
igp(505:525)=kfp(436:456)+yab*ifp(337:357)
igp(526:543)=kfp(460:477)+yab*ifp(358:375)
igp(544:558)=kfp(481:495)+yab*ifp(376:390)
igp(559:570)=kfp(499:510)+yab*ifp(391:402)
igp(571:579)=kfp(514:522)+yab*ifp(403:411)
igp(580:585)=kfp(526:531)+yab*ifp(412:417)
igp(586:588)=kfp(535:537)+yab*ifp(418:420)
igp(925:945)=kfp(868:888)+yab*ifp(673:693)
igp(946:963)=kfp(892:909)+yab*ifp(694:711)
igp(964:978)=kfp(913:927)+yab*ifp(712:726)
igp(979:990)=kfp(931:942)+yab*ifp(727:738)
igp(991:999)=kfp(946:954)+yab*ifp(739:747)
igp(1000:1005)=kfp(958:963)+yab*ifp(748:753)
igp(1006:1008)=kfp(967:969)+yab*ifp(754:756)
igp(1009:1029)=kfp(973:993)+zab*ifp(757:777)
igp(1030:1047)=kfp(997:1014)+zab*ifp(778:795)
igp(1048:1062)=kfp(1018:1032)+zab*ifp(796:810)
igp(1063:1074)=kfp(1036:1047)+zab*ifp(811:822)
igp(1075:1083)=kfp(1051:1059)+zab*ifp(823:831)
igp(1084:1089)=kfp(1063:1068)+zab*ifp(832:837)
igp(1090:1092)=kfp(1072:1074)+zab*ifp(838:840)
igp(1177:1260)=kfp(997:1080)+xab*ifp(757:840)
psp2(1:18)=igp(1:18)+zab*hgp(1:18)
psp2(19:33)=igp(22:36)+zab*hgp(19:33)
psp2(34:45)=igp(40:51)+zab*hgp(34:45)
psp2(46:54)=igp(55:63)+zab*hgp(46:54)
psp2(55:60)=igp(67:72)+zab*hgp(55:60)
psp2(61:63)=igp(76:78)+zab*hgp(61:63)
psp2(64:81)=igp(4:21)+yab*hgp(1:18)
psp2(82:96)=igp(25:39)+yab*hgp(19:33)
psp2(97:108)=igp(43:54)+yab*hgp(34:45)
psp2(109:117)=igp(58:66)+yab*hgp(46:54)
psp2(118:123)=igp(70:75)+yab*hgp(55:60)
psp2(124:126)=igp(79:81)+yab*hgp(61:63)
psp2(127:144)=igp(88:105)+yab*hgp(64:81)
psp2(145:159)=igp(109:123)+yab*hgp(82:96)
psp2(160:171)=igp(127:138)+yab*hgp(97:108)
psp2(172:180)=igp(142:150)+yab*hgp(109:117)
psp2(181:186)=igp(154:159)+yab*hgp(118:123)
psp2(187:189)=igp(163:165)+yab*hgp(124:126)
psp2(190:207)=igp(253:270)+zab*hgp(190:207)
psp2(208:222)=igp(274:288)+zab*hgp(208:222)
psp2(223:234)=igp(292:303)+zab*hgp(223:234)
psp2(235:243)=igp(307:315)+zab*hgp(235:243)
psp2(244:249)=igp(319:324)+zab*hgp(244:249)
psp2(250:252)=igp(328:330)+zab*hgp(250:252)
psp2(253:270)=igp(337:354)+zab*hgp(253:270)
psp2(271:285)=igp(358:372)+zab*hgp(271:285)
psp2(286:297)=igp(376:387)+zab*hgp(286:297)
psp2(298:306)=igp(391:399)+zab*hgp(298:306)
psp2(307:312)=igp(403:408)+zab*hgp(307:312)
psp2(313:315)=igp(412:414)+zab*hgp(313:315)
psp2(316:333)=igp(340:357)+yab*hgp(253:270)
psp2(334:348)=igp(361:375)+yab*hgp(271:285)
psp2(349:360)=igp(379:390)+yab*hgp(286:297)
psp2(361:369)=igp(394:402)+yab*hgp(298:306)
psp2(370:375)=igp(406:411)+yab*hgp(307:312)
psp2(376:378)=igp(415:417)+yab*hgp(313:315)
psp2(379:441)=igp(22:84)+xab*hgp(1:63)
psp2(442:504)=igp(106:168)+xab*hgp(64:126)
psp2(505:522)=igp(508:525)+yab*hgp(379:396)
psp2(523:537)=igp(529:543)+yab*hgp(397:411)
psp2(538:549)=igp(547:558)+yab*hgp(412:423)
psp2(550:558)=igp(562:570)+yab*hgp(424:432)
psp2(559:564)=igp(574:579)+yab*hgp(433:438)
psp2(565:567)=igp(583:585)+yab*hgp(439:441)
psp2(568:630)=igp(274:336)+xab*hgp(190:252)
psp2(631:693)=igp(358:420)+xab*hgp(253:315)
psp2(694:756)=igp(442:504)+xab*hgp(316:378)
psp2(757:819)=igp(526:588)+xab*hgp(379:441)
psp2(820:837)=igp(925:942)+zab*hgp(694:711)
psp2(838:852)=igp(946:960)+zab*hgp(712:726)
psp2(853:864)=igp(964:975)+zab*hgp(727:738)
psp2(865:873)=igp(979:987)+zab*hgp(739:747)
psp2(874:879)=igp(991:996)+zab*hgp(748:753)
psp2(880:882)=igp(1000:1002)+zab*hgp(754:756)
psp2(883:900)=igp(928:945)+yab*hgp(694:711)
psp2(901:915)=igp(949:963)+yab*hgp(712:726)
psp2(916:927)=igp(967:978)+yab*hgp(727:738)
psp2(928:936)=igp(982:990)+yab*hgp(739:747)
psp2(937:942)=igp(994:999)+yab*hgp(748:753)
psp2(943:945)=igp(1003:1005)+yab*hgp(754:756)
psp2(946:963)=igp(1009:1026)+zab*hgp(757:774)
psp2(964:978)=igp(1030:1044)+zab*hgp(775:789)
psp2(979:990)=igp(1048:1059)+zab*hgp(790:801)
psp2(991:999)=igp(1063:1071)+zab*hgp(802:810)
psp2(1000:1005)=igp(1075:1080)+zab*hgp(811:816)
psp2(1006:1008)=igp(1084:1086)+zab*hgp(817:819)
psp2(1009:1026)=igp(1012:1029)+yab*hgp(757:774)
psp2(1027:1041)=igp(1033:1047)+yab*hgp(775:789)
psp2(1042:1053)=igp(1051:1062)+yab*hgp(790:801)
psp2(1054:1062)=igp(1066:1074)+yab*hgp(802:810)
psp2(1063:1068)=igp(1078:1083)+yab*hgp(811:816)
psp2(1069:1071)=igp(1087:1089)+yab*hgp(817:819)
psp2(1072:1134)=igp(946:1008)+xab*hgp(694:756)
psp2(1135:1152)=igp(1177:1194)+zab*hgp(883:900)
psp2(1153:1167)=igp(1198:1212)+zab*hgp(901:915)
psp2(1168:1179)=igp(1216:1227)+zab*hgp(916:927)
psp2(1180:1188)=igp(1231:1239)+zab*hgp(928:936)
psp2(1189:1194)=igp(1243:1248)+zab*hgp(937:942)
psp2(1195:1197)=igp(1252:1254)+zab*hgp(943:945)
psp2(1198:1215)=igp(1180:1197)+yab*hgp(883:900)
psp2(1216:1230)=igp(1201:1215)+yab*hgp(901:915)
psp2(1231:1242)=igp(1219:1230)+yab*hgp(916:927)
psp2(1243:1251)=igp(1234:1242)+yab*hgp(928:936)
psp2(1252:1257)=igp(1246:1251)+yab*hgp(937:942)
psp2(1258:1260)=igp(1255:1257)+yab*hgp(943:945)
psp2(1261:1323)=igp(1198:1260)+xab*hgp(883:945)
sp(1:63)=psp2(316:378)*0.70156076002011391601d0+psp2(883:945)*(-7.
$01560760020113871605d0)+psp2(1198:1260)*3.50780380010056935802d0
sp(64:126)=psp2(568:630)*(-8.87411967464942463835d0)+psp2(1009:107
$1)*8.87411967464942463835d0
sp(127:189)=psp2(190:252)*(-4.18330013267037692515d0)+psp2(316:378
$)*0.52291251658379711564d0+psp2(757:819)*12.54990039801113255180d0
$+psp2(883:945)*(-1.04582503316759423129d0)+psp2(1198:1260)*(-1.568
$73754975139156898d0)
sp(190:252)=psp2(442:504)*10.24695076595959974952d0+psp2(568:630)*
$(-5.12347538297979987476d0)+psp2(1009:1071)*(-5.123475382979799874
$76d0)
sp(253:315)=psp2(64:126)*3.87298334620741613321d0+psp2(190:252)*(-
$5.80947501931112419982d0)+psp2(316:378)*0.48412291827592701665d0+p
$sp2(757:819)*(-5.80947501931112419982d0)+psp2(883:945)*0.968245836
$55185403330d0+psp2(1198:1260)*0.48412291827592701665d0
sp(316:378)=psp2(1:63)+psp2(127:189)*(-5.00000000000000000000d0)+p
$sp2(253:315)*1.87500000000000000000d0+psp2(694:756)*(-5.0000000000
$0000000000d0)+psp2(820:882)*3.75000000000000000000d0+psp2(1135:119
$7)*1.87500000000000000000d0
sp(379:441)=psp2(379:441)*3.87298334620741613321d0+psp2(505:567)*(
$-5.80947501931112419982d0)+psp2(631:693)*0.48412291827592701665d0+
$psp2(946:1008)*(-5.80947501931112419982d0)+psp2(1072:1134)*0.96824
$583655185403330d0+psp2(1261:1323)*0.48412291827592701665d0
sp(442:504)=psp2(127:189)*(-5.12347538297979987476d0)+psp2(253:315
$)*2.56173769148989993738d0+psp2(694:756)*5.12347538297979987476d0+
$psp2(1135:1197)*(-2.56173769148989993738d0)
sp(505:567)=psp2(505:567)*(-12.54990039801113255180d0)+psp2(631:69
$3)*1.56873754975139156898d0+psp2(946:1008)*4.18330013267037692515d
$0+psp2(1072:1134)*1.04582503316759423129d0+psp2(1261:1323)*(-0.522
$91251658379711564d0)
sp(568:630)=psp2(253:315)*2.21852991866235615959d0+psp2(820:882)*(
$-13.31117951197413695752d0)+psp2(1135:1197)*2.21852991866235615959
$d0
sp(631:693)=psp2(631:693)*3.50780380010056935802d0+psp2(1072:1134)
$*(-7.01560760020113871605d0)+psp2(1261:1323)*0.7015607600201139160
$1d0
do ji=0,10
ki=ji*63
jk=ji*3
do ii=0,20
k=ii*3
il=ii*33
do ik=1,3
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:33)=psp2(166:198)*0.70156076002011391601d0+psp2(463:495)*(-7.
$01560760020113871605d0)+psp2(628:660)*3.50780380010056935802d0
sp(34:66)=psp2(298:330)*(-8.87411967464942463835d0)+psp2(529:561)*
$8.87411967464942463835d0
sp(67:99)=psp2(100:132)*(-4.18330013267037692515d0)+psp2(166:198)*
$0.52291251658379711564d0+psp2(397:429)*12.54990039801113255180d0+p
$sp2(463:495)*(-1.04582503316759423129d0)+psp2(628:660)*(-1.5687375
$4975139156898d0)
sp(100:132)=psp2(232:264)*10.24695076595959974952d0+psp2(298:330)*
$(-5.12347538297979987476d0)+psp2(529:561)*(-5.12347538297979987476
$d0)
sp(133:165)=psp2(34:66)*3.87298334620741613321d0+psp2(100:132)*(-5
$.80947501931112419982d0)+psp2(166:198)*0.48412291827592701665d0+ps
$p2(397:429)*(-5.80947501931112419982d0)+psp2(463:495)*0.9682458365
$5185403330d0+psp2(628:660)*0.48412291827592701665d0
sp(166:198)=psp2(1:33)+psp2(67:99)*(-5.00000000000000000000d0)+psp
$2(133:165)*1.87500000000000000000d0+psp2(364:396)*(-5.000000000000
$00000000d0)+psp2(430:462)*3.75000000000000000000d0+psp2(595:627)*1
$.87500000000000000000d0
sp(199:231)=psp2(199:231)*3.87298334620741613321d0+psp2(265:297)*(
$-5.80947501931112419982d0)+psp2(331:363)*0.48412291827592701665d0+
$psp2(496:528)*(-5.80947501931112419982d0)+psp2(562:594)*0.96824583
$655185403330d0+psp2(661:693)*0.48412291827592701665d0
sp(232:264)=psp2(67:99)*(-5.12347538297979987476d0)+psp2(133:165)*
$2.56173769148989993738d0+psp2(364:396)*5.12347538297979987476d0+ps
$p2(595:627)*(-2.56173769148989993738d0)
sp(265:297)=psp2(265:297)*(-12.54990039801113255180d0)+psp2(331:36
$3)*1.56873754975139156898d0+psp2(496:528)*4.18330013267037692515d0
$+psp2(562:594)*1.04582503316759423129d0+psp2(661:693)*(-0.52291251
$658379711564d0)
sp(298:330)=psp2(133:165)*2.21852991866235615959d0+psp2(430:462)*(
$-13.31117951197413695752d0)+psp2(595:627)*2.21852991866235615959d0
sp(331:363)=psp2(331:363)*3.50780380010056935802d0+psp2(562:594)*(
$-7.01560760020113871605d0)+psp2(661:693)*0.70156076002011391601d0
return
end
subroutine hrrspher_hhd_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(2205),psp(1506)
real*8 psp2(2205)
real*8 hpd(315),ipd(420),kpd(540),lpd(675),mpd(825),hdd(630),idd(8
$40),kdd(1080),ldd(1350),hfd(1050),ifd(1400),kfd(1800),hgd(1575),ig
$d(2100),xab,yab,zab
sp(1:251)=psp(1005:1255)*1.73205080756887697113d0
sp(252:502)=psp(252:502)*1.73205080756887697113d0
sp(503:753)=psp(1:251)+psp(503:753)*(-0.50000000000000000000d0)+ps
$p(1256:1506)*(-0.50000000000000000000d0)
sp(754:1004)=psp(754:1004)*1.73205080756887697113d0
sp(1005:1255)=psp(503:753)*(-0.86602540378443848557d0)+psp(1256:15
$06)*0.86602540378443848557d0
do ii=1,5
ji=(ii-1)*251
do ki=1,251
psp((ki-1)*5+ii)=sp(ji+ki)
enddo
enddo
hpd(1:30)=psp(106:135)+zab*psp(1:30)
hpd(31:55)=psp(141:165)+zab*psp(31:55)
hpd(56:75)=psp(171:190)+zab*psp(56:75)
hpd(76:90)=psp(196:210)+zab*psp(76:90)
hpd(91:100)=psp(216:225)+zab*psp(91:100)
hpd(101:105)=psp(231:235)+zab*psp(101:105)
hpd(106:135)=psp(111:140)+yab*psp(1:30)
hpd(136:160)=psp(146:170)+yab*psp(31:55)
hpd(161:180)=psp(176:195)+yab*psp(56:75)
hpd(181:195)=psp(201:215)+yab*psp(76:90)
hpd(196:205)=psp(221:230)+yab*psp(91:100)
hpd(206:210)=psp(236:240)+yab*psp(101:105)
hpd(211:315)=psp(141:245)+xab*psp(1:105)
ipd(1:35)=psp(246:280)+zab*psp(106:140)
ipd(36:65)=psp(286:315)+zab*psp(141:170)
ipd(66:90)=psp(321:345)+zab*psp(171:195)
ipd(91:110)=psp(351:370)+zab*psp(196:215)
ipd(111:125)=psp(376:390)+zab*psp(216:230)
ipd(126:135)=psp(396:405)+zab*psp(231:240)
ipd(136:140)=psp(411:415)+zab*psp(241:245)
ipd(141:175)=psp(251:285)+yab*psp(106:140)
ipd(176:205)=psp(291:320)+yab*psp(141:170)
ipd(206:230)=psp(326:350)+yab*psp(171:195)
ipd(231:250)=psp(356:375)+yab*psp(196:215)
ipd(251:265)=psp(381:395)+yab*psp(216:230)
ipd(266:275)=psp(401:410)+yab*psp(231:240)
ipd(276:280)=psp(416:420)+yab*psp(241:245)
ipd(281:420)=psp(286:425)+xab*psp(106:245)
kpd(1:40)=psp(426:465)+zab*psp(246:285)
kpd(41:75)=psp(471:505)+zab*psp(286:320)
kpd(76:105)=psp(511:540)+zab*psp(321:350)
kpd(106:130)=psp(546:570)+zab*psp(351:375)
kpd(131:150)=psp(576:595)+zab*psp(376:395)
kpd(151:165)=psp(601:615)+zab*psp(396:410)
kpd(166:175)=psp(621:630)+zab*psp(411:420)
kpd(176:180)=psp(636:640)+zab*psp(421:425)
kpd(181:220)=psp(431:470)+yab*psp(246:285)
kpd(221:255)=psp(476:510)+yab*psp(286:320)
kpd(256:285)=psp(516:545)+yab*psp(321:350)
kpd(286:310)=psp(551:575)+yab*psp(351:375)
kpd(311:330)=psp(581:600)+yab*psp(376:395)
kpd(331:345)=psp(606:620)+yab*psp(396:410)
kpd(346:355)=psp(626:635)+yab*psp(411:420)
kpd(356:360)=psp(641:645)+yab*psp(421:425)
kpd(361:540)=psp(471:650)+xab*psp(246:425)
lpd(1:45)=psp(651:695)+zab*psp(426:470)
lpd(46:85)=psp(701:740)+zab*psp(471:510)
lpd(86:120)=psp(746:780)+zab*psp(511:545)
lpd(121:150)=psp(786:815)+zab*psp(546:575)
lpd(151:175)=psp(821:845)+zab*psp(576:600)
lpd(176:195)=psp(851:870)+zab*psp(601:620)
lpd(196:210)=psp(876:890)+zab*psp(621:635)
lpd(211:220)=psp(896:905)+zab*psp(636:645)
lpd(221:225)=psp(911:915)+zab*psp(646:650)
lpd(226:270)=psp(656:700)+yab*psp(426:470)
lpd(271:310)=psp(706:745)+yab*psp(471:510)
lpd(311:345)=psp(751:785)+yab*psp(511:545)
lpd(346:375)=psp(791:820)+yab*psp(546:575)
lpd(376:400)=psp(826:850)+yab*psp(576:600)
lpd(401:420)=psp(856:875)+yab*psp(601:620)
lpd(421:435)=psp(881:895)+yab*psp(621:635)
lpd(436:445)=psp(901:910)+yab*psp(636:645)
lpd(446:450)=psp(916:920)+yab*psp(646:650)
lpd(451:675)=psp(701:925)+xab*psp(426:650)
mpd(1:50)=psp(926:975)+zab*psp(651:700)
mpd(51:95)=psp(981:1025)+zab*psp(701:745)
mpd(96:135)=psp(1031:1070)+zab*psp(746:785)
mpd(136:170)=psp(1076:1110)+zab*psp(786:820)
mpd(171:200)=psp(1116:1145)+zab*psp(821:850)
mpd(201:225)=psp(1151:1175)+zab*psp(851:875)
mpd(226:245)=psp(1181:1200)+zab*psp(876:895)
mpd(246:260)=psp(1206:1220)+zab*psp(896:910)
mpd(261:270)=psp(1226:1235)+zab*psp(911:920)
mpd(271:275)=psp(1241:1245)+zab*psp(921:925)
mpd(276:325)=psp(931:980)+yab*psp(651:700)
mpd(326:370)=psp(986:1030)+yab*psp(701:745)
mpd(371:410)=psp(1036:1075)+yab*psp(746:785)
mpd(411:445)=psp(1081:1115)+yab*psp(786:820)
mpd(446:475)=psp(1121:1150)+yab*psp(821:850)
mpd(476:500)=psp(1156:1180)+yab*psp(851:875)
mpd(501:520)=psp(1186:1205)+yab*psp(876:895)
mpd(521:535)=psp(1211:1225)+yab*psp(896:910)
mpd(536:545)=psp(1231:1240)+yab*psp(911:920)
mpd(546:550)=psp(1246:1250)+yab*psp(921:925)
mpd(551:825)=psp(981:1255)+xab*psp(651:925)
hdd(1:30)=ipd(1:30)+zab*hpd(1:30)
hdd(31:55)=ipd(36:60)+zab*hpd(31:55)
hdd(56:75)=ipd(66:85)+zab*hpd(56:75)
hdd(76:90)=ipd(91:105)+zab*hpd(76:90)
hdd(91:100)=ipd(111:120)+zab*hpd(91:100)
hdd(101:105)=ipd(126:130)+zab*hpd(101:105)
hdd(211:240)=ipd(146:175)+yab*hpd(106:135)
hdd(241:265)=ipd(181:205)+yab*hpd(136:160)
hdd(266:285)=ipd(211:230)+yab*hpd(161:180)
hdd(286:300)=ipd(236:250)+yab*hpd(181:195)
hdd(301:310)=ipd(256:265)+yab*hpd(196:205)
hdd(311:315)=ipd(271:275)+yab*hpd(206:210)
hdd(526:630)=ipd(316:420)+xab*hpd(211:315)
idd(1:35)=kpd(1:35)+zab*ipd(1:35)
idd(36:65)=kpd(41:70)+zab*ipd(36:65)
idd(66:90)=kpd(76:100)+zab*ipd(66:90)
idd(91:110)=kpd(106:125)+zab*ipd(91:110)
idd(111:125)=kpd(131:145)+zab*ipd(111:125)
idd(126:135)=kpd(151:160)+zab*ipd(126:135)
idd(136:140)=kpd(166:170)+zab*ipd(136:140)
idd(281:315)=kpd(186:220)+yab*ipd(141:175)
idd(316:345)=kpd(226:255)+yab*ipd(176:205)
idd(346:370)=kpd(261:285)+yab*ipd(206:230)
idd(371:390)=kpd(291:310)+yab*ipd(231:250)
idd(391:405)=kpd(316:330)+yab*ipd(251:265)
idd(406:415)=kpd(336:345)+yab*ipd(266:275)
idd(416:420)=kpd(351:355)+yab*ipd(276:280)
idd(701:840)=kpd(401:540)+xab*ipd(281:420)
kdd(1:40)=lpd(1:40)+zab*kpd(1:40)
kdd(41:75)=lpd(46:80)+zab*kpd(41:75)
kdd(76:105)=lpd(86:115)+zab*kpd(76:105)
kdd(106:130)=lpd(121:145)+zab*kpd(106:130)
kdd(131:150)=lpd(151:170)+zab*kpd(131:150)
kdd(151:165)=lpd(176:190)+zab*kpd(151:165)
kdd(166:175)=lpd(196:205)+zab*kpd(166:175)
kdd(176:180)=lpd(211:215)+zab*kpd(176:180)
kdd(361:400)=lpd(231:270)+yab*kpd(181:220)
kdd(401:435)=lpd(276:310)+yab*kpd(221:255)
kdd(436:465)=lpd(316:345)+yab*kpd(256:285)
kdd(466:490)=lpd(351:375)+yab*kpd(286:310)
kdd(491:510)=lpd(381:400)+yab*kpd(311:330)
kdd(511:525)=lpd(406:420)+yab*kpd(331:345)
kdd(526:535)=lpd(426:435)+yab*kpd(346:355)
kdd(536:540)=lpd(441:445)+yab*kpd(356:360)
kdd(901:1080)=lpd(496:675)+xab*kpd(361:540)
ldd(1:45)=mpd(1:45)+zab*lpd(1:45)
ldd(46:85)=mpd(51:90)+zab*lpd(46:85)
ldd(86:120)=mpd(96:130)+zab*lpd(86:120)
ldd(121:150)=mpd(136:165)+zab*lpd(121:150)
ldd(151:175)=mpd(171:195)+zab*lpd(151:175)
ldd(176:195)=mpd(201:220)+zab*lpd(176:195)
ldd(196:210)=mpd(226:240)+zab*lpd(196:210)
ldd(211:220)=mpd(246:255)+zab*lpd(211:220)
ldd(221:225)=mpd(261:265)+zab*lpd(221:225)
ldd(451:495)=mpd(281:325)+yab*lpd(226:270)
ldd(496:535)=mpd(331:370)+yab*lpd(271:310)
ldd(536:570)=mpd(376:410)+yab*lpd(311:345)
ldd(571:600)=mpd(416:445)+yab*lpd(346:375)
ldd(601:625)=mpd(451:475)+yab*lpd(376:400)
ldd(626:645)=mpd(481:500)+yab*lpd(401:420)
ldd(646:660)=mpd(506:520)+yab*lpd(421:435)
ldd(661:670)=mpd(526:535)+yab*lpd(436:445)
ldd(671:675)=mpd(541:545)+yab*lpd(446:450)
ldd(1126:1350)=mpd(601:825)+xab*lpd(451:675)
hfd(1:30)=idd(1:30)+zab*hdd(1:30)
hfd(31:55)=idd(36:60)+zab*hdd(31:55)
hfd(56:75)=idd(66:85)+zab*hdd(56:75)
hfd(76:90)=idd(91:105)+zab*hdd(76:90)
hfd(91:100)=idd(111:120)+zab*hdd(91:100)
hfd(101:105)=idd(126:130)+zab*hdd(101:105)
hfd(316:345)=idd(286:315)+yab*hdd(211:240)
hfd(346:370)=idd(321:345)+yab*hdd(241:265)
hfd(371:390)=idd(351:370)+yab*hdd(266:285)
hfd(391:405)=idd(376:390)+yab*hdd(286:300)
hfd(406:415)=idd(396:405)+yab*hdd(301:310)
hfd(416:420)=idd(411:415)+yab*hdd(311:315)
hfd(421:525)=idd(36:140)+xab*hdd(1:105)
hfd(841:870)=idd(706:735)+yab*hdd(526:555)
hfd(871:895)=idd(741:765)+yab*hdd(556:580)
hfd(896:915)=idd(771:790)+yab*hdd(581:600)
hfd(916:930)=idd(796:810)+yab*hdd(601:615)
hfd(931:940)=idd(816:825)+yab*hdd(616:625)
hfd(941:945)=idd(831:835)+yab*hdd(626:630)
hfd(946:1050)=idd(736:840)+xab*hdd(526:630)
ifd(1:35)=kdd(1:35)+zab*idd(1:35)
ifd(36:65)=kdd(41:70)+zab*idd(36:65)
ifd(66:90)=kdd(76:100)+zab*idd(66:90)
ifd(91:110)=kdd(106:125)+zab*idd(91:110)
ifd(111:125)=kdd(131:145)+zab*idd(111:125)
ifd(126:135)=kdd(151:160)+zab*idd(126:135)
ifd(136:140)=kdd(166:170)+zab*idd(136:140)
ifd(421:455)=kdd(366:400)+yab*idd(281:315)
ifd(456:485)=kdd(406:435)+yab*idd(316:345)
ifd(486:510)=kdd(441:465)+yab*idd(346:370)
ifd(511:530)=kdd(471:490)+yab*idd(371:390)
ifd(531:545)=kdd(496:510)+yab*idd(391:405)
ifd(546:555)=kdd(516:525)+yab*idd(406:415)
ifd(556:560)=kdd(531:535)+yab*idd(416:420)
ifd(561:700)=kdd(41:180)+xab*idd(1:140)
ifd(1121:1155)=kdd(906:940)+yab*idd(701:735)
ifd(1156:1185)=kdd(946:975)+yab*idd(736:765)
ifd(1186:1210)=kdd(981:1005)+yab*idd(766:790)
ifd(1211:1230)=kdd(1011:1030)+yab*idd(791:810)
ifd(1231:1245)=kdd(1036:1050)+yab*idd(811:825)
ifd(1246:1255)=kdd(1056:1065)+yab*idd(826:835)
ifd(1256:1260)=kdd(1071:1075)+yab*idd(836:840)
ifd(1261:1400)=kdd(941:1080)+xab*idd(701:840)
kfd(1:40)=ldd(1:40)+zab*kdd(1:40)
kfd(41:75)=ldd(46:80)+zab*kdd(41:75)
kfd(76:105)=ldd(86:115)+zab*kdd(76:105)
kfd(106:130)=ldd(121:145)+zab*kdd(106:130)
kfd(131:150)=ldd(151:170)+zab*kdd(131:150)
kfd(151:165)=ldd(176:190)+zab*kdd(151:165)
kfd(166:175)=ldd(196:205)+zab*kdd(166:175)
kfd(176:180)=ldd(211:215)+zab*kdd(176:180)
kfd(541:580)=ldd(456:495)+yab*kdd(361:400)
kfd(581:615)=ldd(501:535)+yab*kdd(401:435)
kfd(616:645)=ldd(541:570)+yab*kdd(436:465)
kfd(646:670)=ldd(576:600)+yab*kdd(466:490)
kfd(671:690)=ldd(606:625)+yab*kdd(491:510)
kfd(691:705)=ldd(631:645)+yab*kdd(511:525)
kfd(706:715)=ldd(651:660)+yab*kdd(526:535)
kfd(716:720)=ldd(666:670)+yab*kdd(536:540)
kfd(721:900)=ldd(46:225)+xab*kdd(1:180)
kfd(1441:1480)=ldd(1131:1170)+yab*kdd(901:940)
kfd(1481:1515)=ldd(1176:1210)+yab*kdd(941:975)
kfd(1516:1545)=ldd(1216:1245)+yab*kdd(976:1005)
kfd(1546:1570)=ldd(1251:1275)+yab*kdd(1006:1030)
kfd(1571:1590)=ldd(1281:1300)+yab*kdd(1031:1050)
kfd(1591:1605)=ldd(1306:1320)+yab*kdd(1051:1065)
kfd(1606:1615)=ldd(1326:1335)+yab*kdd(1066:1075)
kfd(1616:1620)=ldd(1341:1345)+yab*kdd(1076:1080)
kfd(1621:1800)=ldd(1171:1350)+xab*kdd(901:1080)
hgd(1:30)=ifd(1:30)+zab*hfd(1:30)
hgd(31:55)=ifd(36:60)+zab*hfd(31:55)
hgd(56:75)=ifd(66:85)+zab*hfd(56:75)
hgd(76:90)=ifd(91:105)+zab*hfd(76:90)
hgd(91:100)=ifd(111:120)+zab*hfd(91:100)
hgd(101:105)=ifd(126:130)+zab*hfd(101:105)
hgd(106:135)=ifd(6:35)+yab*hfd(1:30)
hgd(136:160)=ifd(41:65)+yab*hfd(31:55)
hgd(161:180)=ifd(71:90)+yab*hfd(56:75)
hgd(181:195)=ifd(96:110)+yab*hfd(76:90)
hgd(196:205)=ifd(116:125)+yab*hfd(91:100)
hgd(206:210)=ifd(131:135)+yab*hfd(101:105)
hgd(316:345)=ifd(421:450)+zab*hfd(316:345)
hgd(346:370)=ifd(456:480)+zab*hfd(346:370)
hgd(371:390)=ifd(486:505)+zab*hfd(371:390)
hgd(391:405)=ifd(511:525)+zab*hfd(391:405)
hgd(406:415)=ifd(531:540)+zab*hfd(406:415)
hgd(416:420)=ifd(546:550)+zab*hfd(416:420)
hgd(421:450)=ifd(426:455)+yab*hfd(316:345)
hgd(451:475)=ifd(461:485)+yab*hfd(346:370)
hgd(476:495)=ifd(491:510)+yab*hfd(371:390)
hgd(496:510)=ifd(516:530)+yab*hfd(391:405)
hgd(511:520)=ifd(536:545)+yab*hfd(406:415)
hgd(521:525)=ifd(551:555)+yab*hfd(416:420)
hgd(526:630)=ifd(36:140)+xab*hfd(1:105)
hgd(631:660)=ifd(566:595)+yab*hfd(421:450)
hgd(661:685)=ifd(601:625)+yab*hfd(451:475)
hgd(686:705)=ifd(631:650)+yab*hfd(476:495)
hgd(706:720)=ifd(656:670)+yab*hfd(496:510)
hgd(721:730)=ifd(676:685)+yab*hfd(511:520)
hgd(731:735)=ifd(691:695)+yab*hfd(521:525)
hgd(1156:1185)=ifd(1126:1155)+yab*hfd(841:870)
hgd(1186:1210)=ifd(1161:1185)+yab*hfd(871:895)
hgd(1211:1230)=ifd(1191:1210)+yab*hfd(896:915)
hgd(1231:1245)=ifd(1216:1230)+yab*hfd(916:930)
hgd(1246:1255)=ifd(1236:1245)+yab*hfd(931:940)
hgd(1256:1260)=ifd(1251:1255)+yab*hfd(941:945)
hgd(1261:1290)=ifd(1261:1290)+zab*hfd(946:975)
hgd(1291:1315)=ifd(1296:1320)+zab*hfd(976:1000)
hgd(1316:1335)=ifd(1326:1345)+zab*hfd(1001:1020)
hgd(1336:1350)=ifd(1351:1365)+zab*hfd(1021:1035)
hgd(1351:1360)=ifd(1371:1380)+zab*hfd(1036:1045)
hgd(1361:1365)=ifd(1386:1390)+zab*hfd(1046:1050)
hgd(1471:1575)=ifd(1296:1400)+xab*hfd(946:1050)
igd(1:35)=kfd(1:35)+zab*ifd(1:35)
igd(36:65)=kfd(41:70)+zab*ifd(36:65)
igd(66:90)=kfd(76:100)+zab*ifd(66:90)
igd(91:110)=kfd(106:125)+zab*ifd(91:110)
igd(111:125)=kfd(131:145)+zab*ifd(111:125)
igd(126:135)=kfd(151:160)+zab*ifd(126:135)
igd(136:140)=kfd(166:170)+zab*ifd(136:140)
igd(141:175)=kfd(6:40)+yab*ifd(1:35)
igd(176:205)=kfd(46:75)+yab*ifd(36:65)
igd(206:230)=kfd(81:105)+yab*ifd(66:90)
igd(231:250)=kfd(111:130)+yab*ifd(91:110)
igd(251:265)=kfd(136:150)+yab*ifd(111:125)
igd(266:275)=kfd(156:165)+yab*ifd(126:135)
igd(276:280)=kfd(171:175)+yab*ifd(136:140)
igd(421:455)=kfd(541:575)+zab*ifd(421:455)
igd(456:485)=kfd(581:610)+zab*ifd(456:485)
igd(486:510)=kfd(616:640)+zab*ifd(486:510)
igd(511:530)=kfd(646:665)+zab*ifd(511:530)
igd(531:545)=kfd(671:685)+zab*ifd(531:545)
igd(546:555)=kfd(691:700)+zab*ifd(546:555)
igd(556:560)=kfd(706:710)+zab*ifd(556:560)
igd(561:595)=kfd(546:580)+yab*ifd(421:455)
igd(596:625)=kfd(586:615)+yab*ifd(456:485)
igd(626:650)=kfd(621:645)+yab*ifd(486:510)
igd(651:670)=kfd(651:670)+yab*ifd(511:530)
igd(671:685)=kfd(676:690)+yab*ifd(531:545)
igd(686:695)=kfd(696:705)+yab*ifd(546:555)
igd(696:700)=kfd(711:715)+yab*ifd(556:560)
igd(701:840)=kfd(41:180)+xab*ifd(1:140)
igd(841:875)=kfd(726:760)+yab*ifd(561:595)
igd(876:905)=kfd(766:795)+yab*ifd(596:625)
igd(906:930)=kfd(801:825)+yab*ifd(626:650)
igd(931:950)=kfd(831:850)+yab*ifd(651:670)
igd(951:965)=kfd(856:870)+yab*ifd(671:685)
igd(966:975)=kfd(876:885)+yab*ifd(686:695)
igd(976:980)=kfd(891:895)+yab*ifd(696:700)
igd(1541:1575)=kfd(1446:1480)+yab*ifd(1121:1155)
igd(1576:1605)=kfd(1486:1515)+yab*ifd(1156:1185)
igd(1606:1630)=kfd(1521:1545)+yab*ifd(1186:1210)
igd(1631:1650)=kfd(1551:1570)+yab*ifd(1211:1230)
igd(1651:1665)=kfd(1576:1590)+yab*ifd(1231:1245)
igd(1666:1675)=kfd(1596:1605)+yab*ifd(1246:1255)
igd(1676:1680)=kfd(1611:1615)+yab*ifd(1256:1260)
igd(1681:1715)=kfd(1621:1655)+zab*ifd(1261:1295)
igd(1716:1745)=kfd(1661:1690)+zab*ifd(1296:1325)
igd(1746:1770)=kfd(1696:1720)+zab*ifd(1326:1350)
igd(1771:1790)=kfd(1726:1745)+zab*ifd(1351:1370)
igd(1791:1805)=kfd(1751:1765)+zab*ifd(1371:1385)
igd(1806:1815)=kfd(1771:1780)+zab*ifd(1386:1395)
igd(1816:1820)=kfd(1786:1790)+zab*ifd(1396:1400)
igd(1961:2100)=kfd(1661:1800)+xab*ifd(1261:1400)
psp2(1:30)=igd(1:30)+zab*hgd(1:30)
psp2(31:55)=igd(36:60)+zab*hgd(31:55)
psp2(56:75)=igd(66:85)+zab*hgd(56:75)
psp2(76:90)=igd(91:105)+zab*hgd(76:90)
psp2(91:100)=igd(111:120)+zab*hgd(91:100)
psp2(101:105)=igd(126:130)+zab*hgd(101:105)
psp2(106:135)=igd(6:35)+yab*hgd(1:30)
psp2(136:160)=igd(41:65)+yab*hgd(31:55)
psp2(161:180)=igd(71:90)+yab*hgd(56:75)
psp2(181:195)=igd(96:110)+yab*hgd(76:90)
psp2(196:205)=igd(116:125)+yab*hgd(91:100)
psp2(206:210)=igd(131:135)+yab*hgd(101:105)
psp2(211:240)=igd(146:175)+yab*hgd(106:135)
psp2(241:265)=igd(181:205)+yab*hgd(136:160)
psp2(266:285)=igd(211:230)+yab*hgd(161:180)
psp2(286:300)=igd(236:250)+yab*hgd(181:195)
psp2(301:310)=igd(256:265)+yab*hgd(196:205)
psp2(311:315)=igd(271:275)+yab*hgd(206:210)
psp2(316:345)=igd(421:450)+zab*hgd(316:345)
psp2(346:370)=igd(456:480)+zab*hgd(346:370)
psp2(371:390)=igd(486:505)+zab*hgd(371:390)
psp2(391:405)=igd(511:525)+zab*hgd(391:405)
psp2(406:415)=igd(531:540)+zab*hgd(406:415)
psp2(416:420)=igd(546:550)+zab*hgd(416:420)
psp2(421:450)=igd(561:590)+zab*hgd(421:450)
psp2(451:475)=igd(596:620)+zab*hgd(451:475)
psp2(476:495)=igd(626:645)+zab*hgd(476:495)
psp2(496:510)=igd(651:665)+zab*hgd(496:510)
psp2(511:520)=igd(671:680)+zab*hgd(511:520)
psp2(521:525)=igd(686:690)+zab*hgd(521:525)
psp2(526:555)=igd(566:595)+yab*hgd(421:450)
psp2(556:580)=igd(601:625)+yab*hgd(451:475)
psp2(581:600)=igd(631:650)+yab*hgd(476:495)
psp2(601:615)=igd(656:670)+yab*hgd(496:510)
psp2(616:625)=igd(676:685)+yab*hgd(511:520)
psp2(626:630)=igd(691:695)+yab*hgd(521:525)
psp2(631:735)=igd(36:140)+xab*hgd(1:105)
psp2(736:840)=igd(176:280)+xab*hgd(106:210)
psp2(841:870)=igd(846:875)+yab*hgd(631:660)
psp2(871:895)=igd(881:905)+yab*hgd(661:685)
psp2(896:915)=igd(911:930)+yab*hgd(686:705)
psp2(916:930)=igd(936:950)+yab*hgd(706:720)
psp2(931:940)=igd(956:965)+yab*hgd(721:730)
psp2(941:945)=igd(971:975)+yab*hgd(731:735)
psp2(946:1050)=igd(456:560)+xab*hgd(316:420)
psp2(1051:1155)=igd(596:700)+xab*hgd(421:525)
psp2(1156:1260)=igd(736:840)+xab*hgd(526:630)
psp2(1261:1365)=igd(876:980)+xab*hgd(631:735)
psp2(1366:1395)=igd(1541:1570)+zab*hgd(1156:1185)
psp2(1396:1420)=igd(1576:1600)+zab*hgd(1186:1210)
psp2(1421:1440)=igd(1606:1625)+zab*hgd(1211:1230)
psp2(1441:1455)=igd(1631:1645)+zab*hgd(1231:1245)
psp2(1456:1465)=igd(1651:1660)+zab*hgd(1246:1255)
psp2(1466:1470)=igd(1666:1670)+zab*hgd(1256:1260)
psp2(1471:1500)=igd(1546:1575)+yab*hgd(1156:1185)
psp2(1501:1525)=igd(1581:1605)+yab*hgd(1186:1210)
psp2(1526:1545)=igd(1611:1630)+yab*hgd(1211:1230)
psp2(1546:1560)=igd(1636:1650)+yab*hgd(1231:1245)
psp2(1561:1570)=igd(1656:1665)+yab*hgd(1246:1255)
psp2(1571:1575)=igd(1671:1675)+yab*hgd(1256:1260)
psp2(1576:1605)=igd(1681:1710)+zab*hgd(1261:1290)
psp2(1606:1630)=igd(1716:1740)+zab*hgd(1291:1315)
psp2(1631:1650)=igd(1746:1765)+zab*hgd(1316:1335)
psp2(1651:1665)=igd(1771:1785)+zab*hgd(1336:1350)
psp2(1666:1675)=igd(1791:1800)+zab*hgd(1351:1360)
psp2(1676:1680)=igd(1806:1810)+zab*hgd(1361:1365)
psp2(1681:1710)=igd(1686:1715)+yab*hgd(1261:1290)
psp2(1711:1735)=igd(1721:1745)+yab*hgd(1291:1315)
psp2(1736:1755)=igd(1751:1770)+yab*hgd(1316:1335)
psp2(1756:1770)=igd(1776:1790)+yab*hgd(1336:1350)
psp2(1771:1780)=igd(1796:1805)+yab*hgd(1351:1360)
psp2(1781:1785)=igd(1811:1815)+yab*hgd(1361:1365)
psp2(1786:1890)=igd(1576:1680)+xab*hgd(1156:1260)
psp2(1891:1920)=igd(1961:1990)+zab*hgd(1471:1500)
psp2(1921:1945)=igd(1996:2020)+zab*hgd(1501:1525)
psp2(1946:1965)=igd(2026:2045)+zab*hgd(1526:1545)
psp2(1966:1980)=igd(2051:2065)+zab*hgd(1546:1560)
psp2(1981:1990)=igd(2071:2080)+zab*hgd(1561:1570)
psp2(1991:1995)=igd(2086:2090)+zab*hgd(1571:1575)
psp2(1996:2025)=igd(1966:1995)+yab*hgd(1471:1500)
psp2(2026:2050)=igd(2001:2025)+yab*hgd(1501:1525)
psp2(2051:2070)=igd(2031:2050)+yab*hgd(1526:1545)
psp2(2071:2085)=igd(2056:2070)+yab*hgd(1546:1560)
psp2(2086:2095)=igd(2076:2085)+yab*hgd(1561:1570)
psp2(2096:2100)=igd(2091:2095)+yab*hgd(1571:1575)
psp2(2101:2205)=igd(1996:2100)+xab*hgd(1471:1575)
sp(1:105)=psp2(526:630)*0.70156076002011391601d0+psp2(1471:1575)*(
$-7.01560760020113871605d0)+psp2(1996:2100)*3.50780380010056935802d
$0
sp(106:210)=psp2(946:1050)*(-8.87411967464942463835d0)+psp2(1681:1
$785)*8.87411967464942463835d0
sp(211:315)=psp2(316:420)*(-4.18330013267037692515d0)+psp2(526:630
$)*0.52291251658379711564d0+psp2(1261:1365)*12.54990039801113255180
$d0+psp2(1471:1575)*(-1.04582503316759423129d0)+psp2(1996:2100)*(-1
$.56873754975139156898d0)
sp(316:420)=psp2(736:840)*10.24695076595959974952d0+psp2(946:1050)
$*(-5.12347538297979987476d0)+psp2(1681:1785)*(-5.12347538297979987
$476d0)
sp(421:525)=psp2(106:210)*3.87298334620741613321d0+psp2(316:420)*(
$-5.80947501931112419982d0)+psp2(526:630)*0.48412291827592701665d0+
$psp2(1261:1365)*(-5.80947501931112419982d0)+psp2(1471:1575)*0.9682
$4583655185403330d0+psp2(1996:2100)*0.48412291827592701665d0
sp(526:630)=psp2(1:105)+psp2(211:315)*(-5.00000000000000000000d0)+
$psp2(421:525)*1.87500000000000000000d0+psp2(1156:1260)*(-5.0000000
$0000000000000d0)+psp2(1366:1470)*3.75000000000000000000d0+psp2(189
$1:1995)*1.87500000000000000000d0
sp(631:735)=psp2(631:735)*3.87298334620741613321d0+psp2(841:945)*(
$-5.80947501931112419982d0)+psp2(1051:1155)*0.48412291827592701665d
$0+psp2(1576:1680)*(-5.80947501931112419982d0)+psp2(1786:1890)*0.96
$824583655185403330d0+psp2(2101:2205)*0.48412291827592701665d0
sp(736:840)=psp2(211:315)*(-5.12347538297979987476d0)+psp2(421:525
$)*2.56173769148989993738d0+psp2(1156:1260)*5.12347538297979987476d
$0+psp2(1891:1995)*(-2.56173769148989993738d0)
sp(841:945)=psp2(841:945)*(-12.54990039801113255180d0)+psp2(1051:1
$155)*1.56873754975139156898d0+psp2(1576:1680)*4.183300132670376925
$15d0+psp2(1786:1890)*1.04582503316759423129d0+psp2(2101:2205)*(-0.
$52291251658379711564d0)
sp(946:1050)=psp2(421:525)*2.21852991866235615959d0+psp2(1366:1470
$)*(-13.31117951197413695752d0)+psp2(1891:1995)*2.21852991866235615
$959d0
sp(1051:1155)=psp2(1051:1155)*3.50780380010056935802d0+psp2(1786:1
$890)*(-7.01560760020113871605d0)+psp2(2101:2205)*0.701560760020113
$91601d0
do ji=0,10
ki=ji*105
jk=ji*5
do ii=0,20
k=ii*5
il=ii*55
do ik=1,5
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:55)=psp2(276:330)*0.70156076002011391601d0+psp2(771:825)*(-7.
$01560760020113871605d0)+psp2(1046:1100)*3.50780380010056935802d0
sp(56:110)=psp2(496:550)*(-8.87411967464942463835d0)+psp2(881:935)
$*8.87411967464942463835d0
sp(111:165)=psp2(166:220)*(-4.18330013267037692515d0)+psp2(276:330
$)*0.52291251658379711564d0+psp2(661:715)*12.54990039801113255180d0
$+psp2(771:825)*(-1.04582503316759423129d0)+psp2(1046:1100)*(-1.568
$73754975139156898d0)
sp(166:220)=psp2(386:440)*10.24695076595959974952d0+psp2(496:550)*
$(-5.12347538297979987476d0)+psp2(881:935)*(-5.12347538297979987476
$d0)
sp(221:275)=psp2(56:110)*3.87298334620741613321d0+psp2(166:220)*(-
$5.80947501931112419982d0)+psp2(276:330)*0.48412291827592701665d0+p
$sp2(661:715)*(-5.80947501931112419982d0)+psp2(771:825)*0.968245836
$55185403330d0+psp2(1046:1100)*0.48412291827592701665d0
sp(276:330)=psp2(1:55)+psp2(111:165)*(-5.00000000000000000000d0)+p
$sp2(221:275)*1.87500000000000000000d0+psp2(606:660)*(-5.0000000000
$0000000000d0)+psp2(716:770)*3.75000000000000000000d0+psp2(991:1045
$)*1.87500000000000000000d0
sp(331:385)=psp2(331:385)*3.87298334620741613321d0+psp2(441:495)*(
$-5.80947501931112419982d0)+psp2(551:605)*0.48412291827592701665d0+
$psp2(826:880)*(-5.80947501931112419982d0)+psp2(936:990)*0.96824583
$655185403330d0+psp2(1101:1155)*0.48412291827592701665d0
sp(386:440)=psp2(111:165)*(-5.12347538297979987476d0)+psp2(221:275
$)*2.56173769148989993738d0+psp2(606:660)*5.12347538297979987476d0+
$psp2(991:1045)*(-2.56173769148989993738d0)
sp(441:495)=psp2(441:495)*(-12.54990039801113255180d0)+psp2(551:60
$5)*1.56873754975139156898d0+psp2(826:880)*4.18330013267037692515d0
$+psp2(936:990)*1.04582503316759423129d0+psp2(1101:1155)*(-0.522912
$51658379711564d0)
sp(496:550)=psp2(221:275)*2.21852991866235615959d0+psp2(716:770)*(
$-13.31117951197413695752d0)+psp2(991:1045)*2.21852991866235615959d
$0
sp(551:605)=psp2(551:605)*3.50780380010056935802d0+psp2(936:990)*(
$-7.01560760020113871605d0)+psp2(1101:1155)*0.70156076002011391601d
$0
return
end
subroutine hrrspher_hhf_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(3087),psp(2510)
real*8 psp2(3087)
real*8 hpf(441),ipf(588),kpf(756),lpf(945),mpf(1155),hdf(882),idf(
$1176),kdf(1512),ldf(1890),hff(1470),iff(1960),kff(2520),hgf(2205),
$igf(2940),xab,yab,zab
sp(1:251)=psp(754:1004)*(-0.79056941504209476967d0)+psp(2009:2259)
$*2.37170824512628453107d0
sp(252:502)=psp(1256:1506)*3.87298334620741657730d0
sp(503:753)=psp(252:502)*2.44948974278317788134d0+psp(754:1004)*(-
$0.61237243569579447033d0)+psp(2009:2259)*(-0.61237243569579447033d
$0)
sp(754:1004)=psp(1:251)+psp(503:753)*(-1.50000000000000000000d0)+p
$sp(1758:2008)*(-1.50000000000000000000d0)
sp(1005:1255)=psp(1005:1255)*2.44948974278317788134d0+psp(1507:175
$7)*(-0.61237243569579447033d0)+psp(2260:2510)*(-0.6123724356957944
$7033d0)
sp(1256:1506)=psp(503:753)*(-1.93649167310370828865d0)+psp(1758:20
$08)*1.93649167310370828865d0
sp(1507:1757)=psp(1507:1757)*(-2.37170824512628453107d0)+psp(2260:
$2510)*0.79056941504209476967d0
do ii=1,7
ji=(ii-1)*251
do ki=1,251
psp((ki-1)*7+ii)=sp(ji+ki)
enddo
enddo
hpf(1:42)=psp(148:189)+zab*psp(1:42)
hpf(43:77)=psp(197:231)+zab*psp(43:77)
hpf(78:105)=psp(239:266)+zab*psp(78:105)
hpf(106:126)=psp(274:294)+zab*psp(106:126)
hpf(127:140)=psp(302:315)+zab*psp(127:140)
hpf(141:147)=psp(323:329)+zab*psp(141:147)
hpf(148:189)=psp(155:196)+yab*psp(1:42)
hpf(190:224)=psp(204:238)+yab*psp(43:77)
hpf(225:252)=psp(246:273)+yab*psp(78:105)
hpf(253:273)=psp(281:301)+yab*psp(106:126)
hpf(274:287)=psp(309:322)+yab*psp(127:140)
hpf(288:294)=psp(330:336)+yab*psp(141:147)
hpf(295:441)=psp(197:343)+xab*psp(1:147)
ipf(1:49)=psp(344:392)+zab*psp(148:196)
ipf(50:91)=psp(400:441)+zab*psp(197:238)
ipf(92:126)=psp(449:483)+zab*psp(239:273)
ipf(127:154)=psp(491:518)+zab*psp(274:301)
ipf(155:175)=psp(526:546)+zab*psp(302:322)
ipf(176:189)=psp(554:567)+zab*psp(323:336)
ipf(190:196)=psp(575:581)+zab*psp(337:343)
ipf(197:245)=psp(351:399)+yab*psp(148:196)
ipf(246:287)=psp(407:448)+yab*psp(197:238)
ipf(288:322)=psp(456:490)+yab*psp(239:273)
ipf(323:350)=psp(498:525)+yab*psp(274:301)
ipf(351:371)=psp(533:553)+yab*psp(302:322)
ipf(372:385)=psp(561:574)+yab*psp(323:336)
ipf(386:392)=psp(582:588)+yab*psp(337:343)
ipf(393:588)=psp(400:595)+xab*psp(148:343)
kpf(1:56)=psp(596:651)+zab*psp(344:399)
kpf(57:105)=psp(659:707)+zab*psp(400:448)
kpf(106:147)=psp(715:756)+zab*psp(449:490)
kpf(148:182)=psp(764:798)+zab*psp(491:525)
kpf(183:210)=psp(806:833)+zab*psp(526:553)
kpf(211:231)=psp(841:861)+zab*psp(554:574)
kpf(232:245)=psp(869:882)+zab*psp(575:588)
kpf(246:252)=psp(890:896)+zab*psp(589:595)
kpf(253:308)=psp(603:658)+yab*psp(344:399)
kpf(309:357)=psp(666:714)+yab*psp(400:448)
kpf(358:399)=psp(722:763)+yab*psp(449:490)
kpf(400:434)=psp(771:805)+yab*psp(491:525)
kpf(435:462)=psp(813:840)+yab*psp(526:553)
kpf(463:483)=psp(848:868)+yab*psp(554:574)
kpf(484:497)=psp(876:889)+yab*psp(575:588)
kpf(498:504)=psp(897:903)+yab*psp(589:595)
kpf(505:756)=psp(659:910)+xab*psp(344:595)
lpf(1:63)=psp(911:973)+zab*psp(596:658)
lpf(64:119)=psp(981:1036)+zab*psp(659:714)
lpf(120:168)=psp(1044:1092)+zab*psp(715:763)
lpf(169:210)=psp(1100:1141)+zab*psp(764:805)
lpf(211:245)=psp(1149:1183)+zab*psp(806:840)
lpf(246:273)=psp(1191:1218)+zab*psp(841:868)
lpf(274:294)=psp(1226:1246)+zab*psp(869:889)
lpf(295:308)=psp(1254:1267)+zab*psp(890:903)
lpf(309:315)=psp(1275:1281)+zab*psp(904:910)
lpf(316:378)=psp(918:980)+yab*psp(596:658)
lpf(379:434)=psp(988:1043)+yab*psp(659:714)
lpf(435:483)=psp(1051:1099)+yab*psp(715:763)
lpf(484:525)=psp(1107:1148)+yab*psp(764:805)
lpf(526:560)=psp(1156:1190)+yab*psp(806:840)
lpf(561:588)=psp(1198:1225)+yab*psp(841:868)
lpf(589:609)=psp(1233:1253)+yab*psp(869:889)
lpf(610:623)=psp(1261:1274)+yab*psp(890:903)
lpf(624:630)=psp(1282:1288)+yab*psp(904:910)
lpf(631:945)=psp(981:1295)+xab*psp(596:910)
mpf(1:70)=psp(1296:1365)+zab*psp(911:980)
mpf(71:133)=psp(1373:1435)+zab*psp(981:1043)
mpf(134:189)=psp(1443:1498)+zab*psp(1044:1099)
mpf(190:238)=psp(1506:1554)+zab*psp(1100:1148)
mpf(239:280)=psp(1562:1603)+zab*psp(1149:1190)
mpf(281:315)=psp(1611:1645)+zab*psp(1191:1225)
mpf(316:343)=psp(1653:1680)+zab*psp(1226:1253)
mpf(344:364)=psp(1688:1708)+zab*psp(1254:1274)
mpf(365:378)=psp(1716:1729)+zab*psp(1275:1288)
mpf(379:385)=psp(1737:1743)+zab*psp(1289:1295)
mpf(386:455)=psp(1303:1372)+yab*psp(911:980)
mpf(456:518)=psp(1380:1442)+yab*psp(981:1043)
mpf(519:574)=psp(1450:1505)+yab*psp(1044:1099)
mpf(575:623)=psp(1513:1561)+yab*psp(1100:1148)
mpf(624:665)=psp(1569:1610)+yab*psp(1149:1190)
mpf(666:700)=psp(1618:1652)+yab*psp(1191:1225)
mpf(701:728)=psp(1660:1687)+yab*psp(1226:1253)
mpf(729:749)=psp(1695:1715)+yab*psp(1254:1274)
mpf(750:763)=psp(1723:1736)+yab*psp(1275:1288)
mpf(764:770)=psp(1744:1750)+yab*psp(1289:1295)
mpf(771:1155)=psp(1373:1757)+xab*psp(911:1295)
hdf(1:42)=ipf(1:42)+zab*hpf(1:42)
hdf(43:77)=ipf(50:84)+zab*hpf(43:77)
hdf(78:105)=ipf(92:119)+zab*hpf(78:105)
hdf(106:126)=ipf(127:147)+zab*hpf(106:126)
hdf(127:140)=ipf(155:168)+zab*hpf(127:140)
hdf(141:147)=ipf(176:182)+zab*hpf(141:147)
hdf(295:336)=ipf(204:245)+yab*hpf(148:189)
hdf(337:371)=ipf(253:287)+yab*hpf(190:224)
hdf(372:399)=ipf(295:322)+yab*hpf(225:252)
hdf(400:420)=ipf(330:350)+yab*hpf(253:273)
hdf(421:434)=ipf(358:371)+yab*hpf(274:287)
hdf(435:441)=ipf(379:385)+yab*hpf(288:294)
hdf(736:882)=ipf(442:588)+xab*hpf(295:441)
idf(1:49)=kpf(1:49)+zab*ipf(1:49)
idf(50:91)=kpf(57:98)+zab*ipf(50:91)
idf(92:126)=kpf(106:140)+zab*ipf(92:126)
idf(127:154)=kpf(148:175)+zab*ipf(127:154)
idf(155:175)=kpf(183:203)+zab*ipf(155:175)
idf(176:189)=kpf(211:224)+zab*ipf(176:189)
idf(190:196)=kpf(232:238)+zab*ipf(190:196)
idf(393:441)=kpf(260:308)+yab*ipf(197:245)
idf(442:483)=kpf(316:357)+yab*ipf(246:287)
idf(484:518)=kpf(365:399)+yab*ipf(288:322)
idf(519:546)=kpf(407:434)+yab*ipf(323:350)
idf(547:567)=kpf(442:462)+yab*ipf(351:371)
idf(568:581)=kpf(470:483)+yab*ipf(372:385)
idf(582:588)=kpf(491:497)+yab*ipf(386:392)
idf(981:1176)=kpf(561:756)+xab*ipf(393:588)
kdf(1:56)=lpf(1:56)+zab*kpf(1:56)
kdf(57:105)=lpf(64:112)+zab*kpf(57:105)
kdf(106:147)=lpf(120:161)+zab*kpf(106:147)
kdf(148:182)=lpf(169:203)+zab*kpf(148:182)
kdf(183:210)=lpf(211:238)+zab*kpf(183:210)
kdf(211:231)=lpf(246:266)+zab*kpf(211:231)
kdf(232:245)=lpf(274:287)+zab*kpf(232:245)
kdf(246:252)=lpf(295:301)+zab*kpf(246:252)
kdf(505:560)=lpf(323:378)+yab*kpf(253:308)
kdf(561:609)=lpf(386:434)+yab*kpf(309:357)
kdf(610:651)=lpf(442:483)+yab*kpf(358:399)
kdf(652:686)=lpf(491:525)+yab*kpf(400:434)
kdf(687:714)=lpf(533:560)+yab*kpf(435:462)
kdf(715:735)=lpf(568:588)+yab*kpf(463:483)
kdf(736:749)=lpf(596:609)+yab*kpf(484:497)
kdf(750:756)=lpf(617:623)+yab*kpf(498:504)
kdf(1261:1512)=lpf(694:945)+xab*kpf(505:756)
ldf(1:63)=mpf(1:63)+zab*lpf(1:63)
ldf(64:119)=mpf(71:126)+zab*lpf(64:119)
ldf(120:168)=mpf(134:182)+zab*lpf(120:168)
ldf(169:210)=mpf(190:231)+zab*lpf(169:210)
ldf(211:245)=mpf(239:273)+zab*lpf(211:245)
ldf(246:273)=mpf(281:308)+zab*lpf(246:273)
ldf(274:294)=mpf(316:336)+zab*lpf(274:294)
ldf(295:308)=mpf(344:357)+zab*lpf(295:308)
ldf(309:315)=mpf(365:371)+zab*lpf(309:315)
ldf(631:693)=mpf(393:455)+yab*lpf(316:378)
ldf(694:749)=mpf(463:518)+yab*lpf(379:434)
ldf(750:798)=mpf(526:574)+yab*lpf(435:483)
ldf(799:840)=mpf(582:623)+yab*lpf(484:525)
ldf(841:875)=mpf(631:665)+yab*lpf(526:560)
ldf(876:903)=mpf(673:700)+yab*lpf(561:588)
ldf(904:924)=mpf(708:728)+yab*lpf(589:609)
ldf(925:938)=mpf(736:749)+yab*lpf(610:623)
ldf(939:945)=mpf(757:763)+yab*lpf(624:630)
ldf(1576:1890)=mpf(841:1155)+xab*lpf(631:945)
hff(1:42)=idf(1:42)+zab*hdf(1:42)
hff(43:77)=idf(50:84)+zab*hdf(43:77)
hff(78:105)=idf(92:119)+zab*hdf(78:105)
hff(106:126)=idf(127:147)+zab*hdf(106:126)
hff(127:140)=idf(155:168)+zab*hdf(127:140)
hff(141:147)=idf(176:182)+zab*hdf(141:147)
hff(442:483)=idf(400:441)+yab*hdf(295:336)
hff(484:518)=idf(449:483)+yab*hdf(337:371)
hff(519:546)=idf(491:518)+yab*hdf(372:399)
hff(547:567)=idf(526:546)+yab*hdf(400:420)
hff(568:581)=idf(554:567)+yab*hdf(421:434)
hff(582:588)=idf(575:581)+yab*hdf(435:441)
hff(589:735)=idf(50:196)+xab*hdf(1:147)
hff(1177:1218)=idf(988:1029)+yab*hdf(736:777)
hff(1219:1253)=idf(1037:1071)+yab*hdf(778:812)
hff(1254:1281)=idf(1079:1106)+yab*hdf(813:840)
hff(1282:1302)=idf(1114:1134)+yab*hdf(841:861)
hff(1303:1316)=idf(1142:1155)+yab*hdf(862:875)
hff(1317:1323)=idf(1163:1169)+yab*hdf(876:882)
hff(1324:1470)=idf(1030:1176)+xab*hdf(736:882)
iff(1:49)=kdf(1:49)+zab*idf(1:49)
iff(50:91)=kdf(57:98)+zab*idf(50:91)
iff(92:126)=kdf(106:140)+zab*idf(92:126)
iff(127:154)=kdf(148:175)+zab*idf(127:154)
iff(155:175)=kdf(183:203)+zab*idf(155:175)
iff(176:189)=kdf(211:224)+zab*idf(176:189)
iff(190:196)=kdf(232:238)+zab*idf(190:196)
iff(589:637)=kdf(512:560)+yab*idf(393:441)
iff(638:679)=kdf(568:609)+yab*idf(442:483)
iff(680:714)=kdf(617:651)+yab*idf(484:518)
iff(715:742)=kdf(659:686)+yab*idf(519:546)
iff(743:763)=kdf(694:714)+yab*idf(547:567)
iff(764:777)=kdf(722:735)+yab*idf(568:581)
iff(778:784)=kdf(743:749)+yab*idf(582:588)
iff(785:980)=kdf(57:252)+xab*idf(1:196)
iff(1569:1617)=kdf(1268:1316)+yab*idf(981:1029)
iff(1618:1659)=kdf(1324:1365)+yab*idf(1030:1071)
iff(1660:1694)=kdf(1373:1407)+yab*idf(1072:1106)
iff(1695:1722)=kdf(1415:1442)+yab*idf(1107:1134)
iff(1723:1743)=kdf(1450:1470)+yab*idf(1135:1155)
iff(1744:1757)=kdf(1478:1491)+yab*idf(1156:1169)
iff(1758:1764)=kdf(1499:1505)+yab*idf(1170:1176)
iff(1765:1960)=kdf(1317:1512)+xab*idf(981:1176)
kff(1:56)=ldf(1:56)+zab*kdf(1:56)
kff(57:105)=ldf(64:112)+zab*kdf(57:105)
kff(106:147)=ldf(120:161)+zab*kdf(106:147)
kff(148:182)=ldf(169:203)+zab*kdf(148:182)
kff(183:210)=ldf(211:238)+zab*kdf(183:210)
kff(211:231)=ldf(246:266)+zab*kdf(211:231)
kff(232:245)=ldf(274:287)+zab*kdf(232:245)
kff(246:252)=ldf(295:301)+zab*kdf(246:252)
kff(757:812)=ldf(638:693)+yab*kdf(505:560)
kff(813:861)=ldf(701:749)+yab*kdf(561:609)
kff(862:903)=ldf(757:798)+yab*kdf(610:651)
kff(904:938)=ldf(806:840)+yab*kdf(652:686)
kff(939:966)=ldf(848:875)+yab*kdf(687:714)
kff(967:987)=ldf(883:903)+yab*kdf(715:735)
kff(988:1001)=ldf(911:924)+yab*kdf(736:749)
kff(1002:1008)=ldf(932:938)+yab*kdf(750:756)
kff(1009:1260)=ldf(64:315)+xab*kdf(1:252)
kff(2017:2072)=ldf(1583:1638)+yab*kdf(1261:1316)
kff(2073:2121)=ldf(1646:1694)+yab*kdf(1317:1365)
kff(2122:2163)=ldf(1702:1743)+yab*kdf(1366:1407)
kff(2164:2198)=ldf(1751:1785)+yab*kdf(1408:1442)
kff(2199:2226)=ldf(1793:1820)+yab*kdf(1443:1470)
kff(2227:2247)=ldf(1828:1848)+yab*kdf(1471:1491)
kff(2248:2261)=ldf(1856:1869)+yab*kdf(1492:1505)
kff(2262:2268)=ldf(1877:1883)+yab*kdf(1506:1512)
kff(2269:2520)=ldf(1639:1890)+xab*kdf(1261:1512)
hgf(1:42)=iff(1:42)+zab*hff(1:42)
hgf(43:77)=iff(50:84)+zab*hff(43:77)
hgf(78:105)=iff(92:119)+zab*hff(78:105)
hgf(106:126)=iff(127:147)+zab*hff(106:126)
hgf(127:140)=iff(155:168)+zab*hff(127:140)
hgf(141:147)=iff(176:182)+zab*hff(141:147)
hgf(148:189)=iff(8:49)+yab*hff(1:42)
hgf(190:224)=iff(57:91)+yab*hff(43:77)
hgf(225:252)=iff(99:126)+yab*hff(78:105)
hgf(253:273)=iff(134:154)+yab*hff(106:126)
hgf(274:287)=iff(162:175)+yab*hff(127:140)
hgf(288:294)=iff(183:189)+yab*hff(141:147)
hgf(442:483)=iff(589:630)+zab*hff(442:483)
hgf(484:518)=iff(638:672)+zab*hff(484:518)
hgf(519:546)=iff(680:707)+zab*hff(519:546)
hgf(547:567)=iff(715:735)+zab*hff(547:567)
hgf(568:581)=iff(743:756)+zab*hff(568:581)
hgf(582:588)=iff(764:770)+zab*hff(582:588)
hgf(589:630)=iff(596:637)+yab*hff(442:483)
hgf(631:665)=iff(645:679)+yab*hff(484:518)
hgf(666:693)=iff(687:714)+yab*hff(519:546)
hgf(694:714)=iff(722:742)+yab*hff(547:567)
hgf(715:728)=iff(750:763)+yab*hff(568:581)
hgf(729:735)=iff(771:777)+yab*hff(582:588)
hgf(736:882)=iff(50:196)+xab*hff(1:147)
hgf(883:924)=iff(792:833)+yab*hff(589:630)
hgf(925:959)=iff(841:875)+yab*hff(631:665)
hgf(960:987)=iff(883:910)+yab*hff(666:693)
hgf(988:1008)=iff(918:938)+yab*hff(694:714)
hgf(1009:1022)=iff(946:959)+yab*hff(715:728)
hgf(1023:1029)=iff(967:973)+yab*hff(729:735)
hgf(1618:1659)=iff(1576:1617)+yab*hff(1177:1218)
hgf(1660:1694)=iff(1625:1659)+yab*hff(1219:1253)
hgf(1695:1722)=iff(1667:1694)+yab*hff(1254:1281)
hgf(1723:1743)=iff(1702:1722)+yab*hff(1282:1302)
hgf(1744:1757)=iff(1730:1743)+yab*hff(1303:1316)
hgf(1758:1764)=iff(1751:1757)+yab*hff(1317:1323)
hgf(1765:1806)=iff(1765:1806)+zab*hff(1324:1365)
hgf(1807:1841)=iff(1814:1848)+zab*hff(1366:1400)
hgf(1842:1869)=iff(1856:1883)+zab*hff(1401:1428)
hgf(1870:1890)=iff(1891:1911)+zab*hff(1429:1449)
hgf(1891:1904)=iff(1919:1932)+zab*hff(1450:1463)
hgf(1905:1911)=iff(1940:1946)+zab*hff(1464:1470)
hgf(2059:2205)=iff(1814:1960)+xab*hff(1324:1470)
igf(1:49)=kff(1:49)+zab*iff(1:49)
igf(50:91)=kff(57:98)+zab*iff(50:91)
igf(92:126)=kff(106:140)+zab*iff(92:126)
igf(127:154)=kff(148:175)+zab*iff(127:154)
igf(155:175)=kff(183:203)+zab*iff(155:175)
igf(176:189)=kff(211:224)+zab*iff(176:189)
igf(190:196)=kff(232:238)+zab*iff(190:196)
igf(197:245)=kff(8:56)+yab*iff(1:49)
igf(246:287)=kff(64:105)+yab*iff(50:91)
igf(288:322)=kff(113:147)+yab*iff(92:126)
igf(323:350)=kff(155:182)+yab*iff(127:154)
igf(351:371)=kff(190:210)+yab*iff(155:175)
igf(372:385)=kff(218:231)+yab*iff(176:189)
igf(386:392)=kff(239:245)+yab*iff(190:196)
igf(589:637)=kff(757:805)+zab*iff(589:637)
igf(638:679)=kff(813:854)+zab*iff(638:679)
igf(680:714)=kff(862:896)+zab*iff(680:714)
igf(715:742)=kff(904:931)+zab*iff(715:742)
igf(743:763)=kff(939:959)+zab*iff(743:763)
igf(764:777)=kff(967:980)+zab*iff(764:777)
igf(778:784)=kff(988:994)+zab*iff(778:784)
igf(785:833)=kff(764:812)+yab*iff(589:637)
igf(834:875)=kff(820:861)+yab*iff(638:679)
igf(876:910)=kff(869:903)+yab*iff(680:714)
igf(911:938)=kff(911:938)+yab*iff(715:742)
igf(939:959)=kff(946:966)+yab*iff(743:763)
igf(960:973)=kff(974:987)+yab*iff(764:777)
igf(974:980)=kff(995:1001)+yab*iff(778:784)
igf(981:1176)=kff(57:252)+xab*iff(1:196)
igf(1177:1225)=kff(1016:1064)+yab*iff(785:833)
igf(1226:1267)=kff(1072:1113)+yab*iff(834:875)
igf(1268:1302)=kff(1121:1155)+yab*iff(876:910)
igf(1303:1330)=kff(1163:1190)+yab*iff(911:938)
igf(1331:1351)=kff(1198:1218)+yab*iff(939:959)
igf(1352:1365)=kff(1226:1239)+yab*iff(960:973)
igf(1366:1372)=kff(1247:1253)+yab*iff(974:980)
igf(2157:2205)=kff(2024:2072)+yab*iff(1569:1617)
igf(2206:2247)=kff(2080:2121)+yab*iff(1618:1659)
igf(2248:2282)=kff(2129:2163)+yab*iff(1660:1694)
igf(2283:2310)=kff(2171:2198)+yab*iff(1695:1722)
igf(2311:2331)=kff(2206:2226)+yab*iff(1723:1743)
igf(2332:2345)=kff(2234:2247)+yab*iff(1744:1757)
igf(2346:2352)=kff(2255:2261)+yab*iff(1758:1764)
igf(2353:2401)=kff(2269:2317)+zab*iff(1765:1813)
igf(2402:2443)=kff(2325:2366)+zab*iff(1814:1855)
igf(2444:2478)=kff(2374:2408)+zab*iff(1856:1890)
igf(2479:2506)=kff(2416:2443)+zab*iff(1891:1918)
igf(2507:2527)=kff(2451:2471)+zab*iff(1919:1939)
igf(2528:2541)=kff(2479:2492)+zab*iff(1940:1953)
igf(2542:2548)=kff(2500:2506)+zab*iff(1954:1960)
igf(2745:2940)=kff(2325:2520)+xab*iff(1765:1960)
psp2(1:42)=igf(1:42)+zab*hgf(1:42)
psp2(43:77)=igf(50:84)+zab*hgf(43:77)
psp2(78:105)=igf(92:119)+zab*hgf(78:105)
psp2(106:126)=igf(127:147)+zab*hgf(106:126)
psp2(127:140)=igf(155:168)+zab*hgf(127:140)
psp2(141:147)=igf(176:182)+zab*hgf(141:147)
psp2(148:189)=igf(8:49)+yab*hgf(1:42)
psp2(190:224)=igf(57:91)+yab*hgf(43:77)
psp2(225:252)=igf(99:126)+yab*hgf(78:105)
psp2(253:273)=igf(134:154)+yab*hgf(106:126)
psp2(274:287)=igf(162:175)+yab*hgf(127:140)
psp2(288:294)=igf(183:189)+yab*hgf(141:147)
psp2(295:336)=igf(204:245)+yab*hgf(148:189)
psp2(337:371)=igf(253:287)+yab*hgf(190:224)
psp2(372:399)=igf(295:322)+yab*hgf(225:252)
psp2(400:420)=igf(330:350)+yab*hgf(253:273)
psp2(421:434)=igf(358:371)+yab*hgf(274:287)
psp2(435:441)=igf(379:385)+yab*hgf(288:294)
psp2(442:483)=igf(589:630)+zab*hgf(442:483)
psp2(484:518)=igf(638:672)+zab*hgf(484:518)
psp2(519:546)=igf(680:707)+zab*hgf(519:546)
psp2(547:567)=igf(715:735)+zab*hgf(547:567)
psp2(568:581)=igf(743:756)+zab*hgf(568:581)
psp2(582:588)=igf(764:770)+zab*hgf(582:588)
psp2(589:630)=igf(785:826)+zab*hgf(589:630)
psp2(631:665)=igf(834:868)+zab*hgf(631:665)
psp2(666:693)=igf(876:903)+zab*hgf(666:693)
psp2(694:714)=igf(911:931)+zab*hgf(694:714)
psp2(715:728)=igf(939:952)+zab*hgf(715:728)
psp2(729:735)=igf(960:966)+zab*hgf(729:735)
psp2(736:777)=igf(792:833)+yab*hgf(589:630)
psp2(778:812)=igf(841:875)+yab*hgf(631:665)
psp2(813:840)=igf(883:910)+yab*hgf(666:693)
psp2(841:861)=igf(918:938)+yab*hgf(694:714)
psp2(862:875)=igf(946:959)+yab*hgf(715:728)
psp2(876:882)=igf(967:973)+yab*hgf(729:735)
psp2(883:1029)=igf(50:196)+xab*hgf(1:147)
psp2(1030:1176)=igf(246:392)+xab*hgf(148:294)
psp2(1177:1218)=igf(1184:1225)+yab*hgf(883:924)
psp2(1219:1253)=igf(1233:1267)+yab*hgf(925:959)
psp2(1254:1281)=igf(1275:1302)+yab*hgf(960:987)
psp2(1282:1302)=igf(1310:1330)+yab*hgf(988:1008)
psp2(1303:1316)=igf(1338:1351)+yab*hgf(1009:1022)
psp2(1317:1323)=igf(1359:1365)+yab*hgf(1023:1029)
psp2(1324:1470)=igf(638:784)+xab*hgf(442:588)
psp2(1471:1617)=igf(834:980)+xab*hgf(589:735)
psp2(1618:1764)=igf(1030:1176)+xab*hgf(736:882)
psp2(1765:1911)=igf(1226:1372)+xab*hgf(883:1029)
psp2(1912:1953)=igf(2157:2198)+zab*hgf(1618:1659)
psp2(1954:1988)=igf(2206:2240)+zab*hgf(1660:1694)
psp2(1989:2016)=igf(2248:2275)+zab*hgf(1695:1722)
psp2(2017:2037)=igf(2283:2303)+zab*hgf(1723:1743)
psp2(2038:2051)=igf(2311:2324)+zab*hgf(1744:1757)
psp2(2052:2058)=igf(2332:2338)+zab*hgf(1758:1764)
psp2(2059:2100)=igf(2164:2205)+yab*hgf(1618:1659)
psp2(2101:2135)=igf(2213:2247)+yab*hgf(1660:1694)
psp2(2136:2163)=igf(2255:2282)+yab*hgf(1695:1722)
psp2(2164:2184)=igf(2290:2310)+yab*hgf(1723:1743)
psp2(2185:2198)=igf(2318:2331)+yab*hgf(1744:1757)
psp2(2199:2205)=igf(2339:2345)+yab*hgf(1758:1764)
psp2(2206:2247)=igf(2353:2394)+zab*hgf(1765:1806)
psp2(2248:2282)=igf(2402:2436)+zab*hgf(1807:1841)
psp2(2283:2310)=igf(2444:2471)+zab*hgf(1842:1869)
psp2(2311:2331)=igf(2479:2499)+zab*hgf(1870:1890)
psp2(2332:2345)=igf(2507:2520)+zab*hgf(1891:1904)
psp2(2346:2352)=igf(2528:2534)+zab*hgf(1905:1911)
psp2(2353:2394)=igf(2360:2401)+yab*hgf(1765:1806)
psp2(2395:2429)=igf(2409:2443)+yab*hgf(1807:1841)
psp2(2430:2457)=igf(2451:2478)+yab*hgf(1842:1869)
psp2(2458:2478)=igf(2486:2506)+yab*hgf(1870:1890)
psp2(2479:2492)=igf(2514:2527)+yab*hgf(1891:1904)
psp2(2493:2499)=igf(2535:2541)+yab*hgf(1905:1911)
psp2(2500:2646)=igf(2206:2352)+xab*hgf(1618:1764)
psp2(2647:2688)=igf(2745:2786)+zab*hgf(2059:2100)
psp2(2689:2723)=igf(2794:2828)+zab*hgf(2101:2135)
psp2(2724:2751)=igf(2836:2863)+zab*hgf(2136:2163)
psp2(2752:2772)=igf(2871:2891)+zab*hgf(2164:2184)
psp2(2773:2786)=igf(2899:2912)+zab*hgf(2185:2198)
psp2(2787:2793)=igf(2920:2926)+zab*hgf(2199:2205)
psp2(2794:2835)=igf(2752:2793)+yab*hgf(2059:2100)
psp2(2836:2870)=igf(2801:2835)+yab*hgf(2101:2135)
psp2(2871:2898)=igf(2843:2870)+yab*hgf(2136:2163)
psp2(2899:2919)=igf(2878:2898)+yab*hgf(2164:2184)
psp2(2920:2933)=igf(2906:2919)+yab*hgf(2185:2198)
psp2(2934:2940)=igf(2927:2933)+yab*hgf(2199:2205)
psp2(2941:3087)=igf(2794:2940)+xab*hgf(2059:2205)
sp(1:147)=psp2(736:882)*0.70156076002011391601d0+psp2(2059:2205)*(
$-7.01560760020113871605d0)+psp2(2794:2940)*3.50780380010056935802d
$0
sp(148:294)=psp2(1324:1470)*(-8.87411967464942463835d0)+psp2(2353:
$2499)*8.87411967464942463835d0
sp(295:441)=psp2(442:588)*(-4.18330013267037692515d0)+psp2(736:882
$)*0.52291251658379711564d0+psp2(1765:1911)*12.54990039801113255180
$d0+psp2(2059:2205)*(-1.04582503316759423129d0)+psp2(2794:2940)*(-1
$.56873754975139156898d0)
sp(442:588)=psp2(1030:1176)*10.24695076595959974952d0+psp2(1324:14
$70)*(-5.12347538297979987476d0)+psp2(2353:2499)*(-5.12347538297979
$987476d0)
sp(589:735)=psp2(148:294)*3.87298334620741613321d0+psp2(442:588)*(
$-5.80947501931112419982d0)+psp2(736:882)*0.48412291827592701665d0+
$psp2(1765:1911)*(-5.80947501931112419982d0)+psp2(2059:2205)*0.9682
$4583655185403330d0+psp2(2794:2940)*0.48412291827592701665d0
sp(736:882)=psp2(1:147)+psp2(295:441)*(-5.00000000000000000000d0)+
$psp2(589:735)*1.87500000000000000000d0+psp2(1618:1764)*(-5.0000000
$0000000000000d0)+psp2(1912:2058)*3.75000000000000000000d0+psp2(264
$7:2793)*1.87500000000000000000d0
sp(883:1029)=psp2(883:1029)*3.87298334620741613321d0+psp2(1177:132
$3)*(-5.80947501931112419982d0)+psp2(1471:1617)*0.48412291827592701
$665d0+psp2(2206:2352)*(-5.80947501931112419982d0)+psp2(2500:2646)*
$0.96824583655185403330d0+psp2(2941:3087)*0.48412291827592701665d0
sp(1030:1176)=psp2(295:441)*(-5.12347538297979987476d0)+psp2(589:7
$35)*2.56173769148989993738d0+psp2(1618:1764)*5.1234753829797998747
$6d0+psp2(2647:2793)*(-2.56173769148989993738d0)
sp(1177:1323)=psp2(1177:1323)*(-12.54990039801113255180d0)+psp2(14
$71:1617)*1.56873754975139156898d0+psp2(2206:2352)*4.18330013267037
$692515d0+psp2(2500:2646)*1.04582503316759423129d0+psp2(2941:3087)*
$(-0.52291251658379711564d0)
sp(1324:1470)=psp2(589:735)*2.21852991866235615959d0+psp2(1912:205
$8)*(-13.31117951197413695752d0)+psp2(2647:2793)*2.2185299186623561
$5959d0
sp(1471:1617)=psp2(1471:1617)*3.50780380010056935802d0+psp2(2500:2
$646)*(-7.01560760020113871605d0)+psp2(2941:3087)*0.701560760020113
$91601d0
do ji=0,10
ki=ji*147
jk=ji*7
do ii=0,20
k=ii*7
il=ii*77
do ik=1,7
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:77)=psp2(386:462)*0.70156076002011391601d0+psp2(1079:1155)*(-
$7.01560760020113871605d0)+psp2(1464:1540)*3.50780380010056935802d0
sp(78:154)=psp2(694:770)*(-8.87411967464942463835d0)+psp2(1233:130
$9)*8.87411967464942463835d0
sp(155:231)=psp2(232:308)*(-4.18330013267037692515d0)+psp2(386:462
$)*0.52291251658379711564d0+psp2(925:1001)*12.54990039801113255180d
$0+psp2(1079:1155)*(-1.04582503316759423129d0)+psp2(1464:1540)*(-1.
$56873754975139156898d0)
sp(232:308)=psp2(540:616)*10.24695076595959974952d0+psp2(694:770)*
$(-5.12347538297979987476d0)+psp2(1233:1309)*(-5.123475382979799874
$76d0)
sp(309:385)=psp2(78:154)*3.87298334620741613321d0+psp2(232:308)*(-
$5.80947501931112419982d0)+psp2(386:462)*0.48412291827592701665d0+p
$sp2(925:1001)*(-5.80947501931112419982d0)+psp2(1079:1155)*0.968245
$83655185403330d0+psp2(1464:1540)*0.48412291827592701665d0
sp(386:462)=psp2(1:77)+psp2(155:231)*(-5.00000000000000000000d0)+p
$sp2(309:385)*1.87500000000000000000d0+psp2(848:924)*(-5.0000000000
$0000000000d0)+psp2(1002:1078)*3.75000000000000000000d0+psp2(1387:1
$463)*1.87500000000000000000d0
sp(463:539)=psp2(463:539)*3.87298334620741613321d0+psp2(617:693)*(
$-5.80947501931112419982d0)+psp2(771:847)*0.48412291827592701665d0+
$psp2(1156:1232)*(-5.80947501931112419982d0)+psp2(1310:1386)*0.9682
$4583655185403330d0+psp2(1541:1617)*0.48412291827592701665d0
sp(540:616)=psp2(155:231)*(-5.12347538297979987476d0)+psp2(309:385
$)*2.56173769148989993738d0+psp2(848:924)*5.12347538297979987476d0+
$psp2(1387:1463)*(-2.56173769148989993738d0)
sp(617:693)=psp2(617:693)*(-12.54990039801113255180d0)+psp2(771:84
$7)*1.56873754975139156898d0+psp2(1156:1232)*4.18330013267037692515
$d0+psp2(1310:1386)*1.04582503316759423129d0+psp2(1541:1617)*(-0.52
$291251658379711564d0)
sp(694:770)=psp2(309:385)*2.21852991866235615959d0+psp2(1002:1078)
$*(-13.31117951197413695752d0)+psp2(1387:1463)*2.218529918662356159
$59d0
sp(771:847)=psp2(771:847)*3.50780380010056935802d0+psp2(1310:1386)
$*(-7.01560760020113871605d0)+psp2(1541:1617)*0.7015607600201139160
$1d0
return
end
subroutine hrrspher_hhg_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(3969),psp(3765)
real*8 psp2(3969)
real*8 hpg(567),ipg(756),kpg(972),lpg(1215),mpg(1485),hdg(1134),id
$g(1512),kdg(1944),ldg(2430),hfg(1890),ifg(2520),kfg(3240),hgg(2835
$),igg(3780),xab,yab,zab
sp(1:251)=psp(2009:2259)*(-2.95803989154980806475d0)+psp(3264:3514
$)*2.95803989154980806475d0
sp(252:502)=psp(754:1004)*(-2.09165006633518890666d0)+psp(2511:276
$1)*6.27495019900556627590d0
sp(503:753)=psp(1507:1757)*6.70820393249936941515d0+psp(2009:2259)
$*(-1.11803398874989490253d0)+psp(3264:3514)*(-1.118033988749894902
$53d0)
sp(754:1004)=psp(252:502)*3.16227766016837907870d0+psp(754:1004)*(
$-2.37170824512628453107d0)+psp(2511:2761)*(-2.37170824512628453107
$d0)
sp(1005:1255)=psp(1:251)+psp(503:753)*(-3.00000000000000000000d0)+
$psp(1005:1255)*0.37500000000000000000d0+psp(2260:2510)*(-3.0000000
$0000000000000d0)+psp(2762:3012)*0.75000000000000000000d0+psp(3515:
$3765)*0.37500000000000000000d0
sp(1256:1506)=psp(1256:1506)*3.16227766016837907870d0+psp(1758:200
$8)*(-2.37170824512628453107d0)+psp(3013:3263)*(-2.3717082451262845
$3107d0)
sp(1507:1757)=psp(503:753)*(-3.35410196624968470758d0)+psp(1005:12
$55)*0.55901699437494745126d0+psp(2260:2510)*3.35410196624968470758
$d0+psp(3515:3765)*(-0.55901699437494745126d0)
sp(1758:2008)=psp(1758:2008)*(-6.27495019900556627590d0)+psp(3013:
$3263)*2.09165006633518890666d0
sp(2009:2259)=psp(1005:1255)*0.73950997288745201619d0+psp(2762:301
$2)*(-4.43705983732471231917d0)+psp(3515:3765)*0.739509972887452016
$19d0
do ii=1,9
ji=(ii-1)*251
do ki=1,251
psp((ki-1)*9+ii)=sp(ji+ki)
enddo
enddo
hpg(1:54)=psp(190:243)+zab*psp(1:54)
hpg(55:99)=psp(253:297)+zab*psp(55:99)
hpg(100:135)=psp(307:342)+zab*psp(100:135)
hpg(136:162)=psp(352:378)+zab*psp(136:162)
hpg(163:180)=psp(388:405)+zab*psp(163:180)
hpg(181:189)=psp(415:423)+zab*psp(181:189)
hpg(190:243)=psp(199:252)+yab*psp(1:54)
hpg(244:288)=psp(262:306)+yab*psp(55:99)
hpg(289:324)=psp(316:351)+yab*psp(100:135)
hpg(325:351)=psp(361:387)+yab*psp(136:162)
hpg(352:369)=psp(397:414)+yab*psp(163:180)
hpg(370:378)=psp(424:432)+yab*psp(181:189)
hpg(379:567)=psp(253:441)+xab*psp(1:189)
ipg(1:63)=psp(442:504)+zab*psp(190:252)
ipg(64:117)=psp(514:567)+zab*psp(253:306)
ipg(118:162)=psp(577:621)+zab*psp(307:351)
ipg(163:198)=psp(631:666)+zab*psp(352:387)
ipg(199:225)=psp(676:702)+zab*psp(388:414)
ipg(226:243)=psp(712:729)+zab*psp(415:432)
ipg(244:252)=psp(739:747)+zab*psp(433:441)
ipg(253:315)=psp(451:513)+yab*psp(190:252)
ipg(316:369)=psp(523:576)+yab*psp(253:306)
ipg(370:414)=psp(586:630)+yab*psp(307:351)
ipg(415:450)=psp(640:675)+yab*psp(352:387)
ipg(451:477)=psp(685:711)+yab*psp(388:414)
ipg(478:495)=psp(721:738)+yab*psp(415:432)
ipg(496:504)=psp(748:756)+yab*psp(433:441)
ipg(505:756)=psp(514:765)+xab*psp(190:441)
kpg(1:72)=psp(766:837)+zab*psp(442:513)
kpg(73:135)=psp(847:909)+zab*psp(514:576)
kpg(136:189)=psp(919:972)+zab*psp(577:630)
kpg(190:234)=psp(982:1026)+zab*psp(631:675)
kpg(235:270)=psp(1036:1071)+zab*psp(676:711)
kpg(271:297)=psp(1081:1107)+zab*psp(712:738)
kpg(298:315)=psp(1117:1134)+zab*psp(739:756)
kpg(316:324)=psp(1144:1152)+zab*psp(757:765)
kpg(325:396)=psp(775:846)+yab*psp(442:513)
kpg(397:459)=psp(856:918)+yab*psp(514:576)
kpg(460:513)=psp(928:981)+yab*psp(577:630)
kpg(514:558)=psp(991:1035)+yab*psp(631:675)
kpg(559:594)=psp(1045:1080)+yab*psp(676:711)
kpg(595:621)=psp(1090:1116)+yab*psp(712:738)
kpg(622:639)=psp(1126:1143)+yab*psp(739:756)
kpg(640:648)=psp(1153:1161)+yab*psp(757:765)
kpg(649:972)=psp(847:1170)+xab*psp(442:765)
lpg(1:81)=psp(1171:1251)+zab*psp(766:846)
lpg(82:153)=psp(1261:1332)+zab*psp(847:918)
lpg(154:216)=psp(1342:1404)+zab*psp(919:981)
lpg(217:270)=psp(1414:1467)+zab*psp(982:1035)
lpg(271:315)=psp(1477:1521)+zab*psp(1036:1080)
lpg(316:351)=psp(1531:1566)+zab*psp(1081:1116)
lpg(352:378)=psp(1576:1602)+zab*psp(1117:1143)
lpg(379:396)=psp(1612:1629)+zab*psp(1144:1161)
lpg(397:405)=psp(1639:1647)+zab*psp(1162:1170)
lpg(406:486)=psp(1180:1260)+yab*psp(766:846)
lpg(487:558)=psp(1270:1341)+yab*psp(847:918)
lpg(559:621)=psp(1351:1413)+yab*psp(919:981)
lpg(622:675)=psp(1423:1476)+yab*psp(982:1035)
lpg(676:720)=psp(1486:1530)+yab*psp(1036:1080)
lpg(721:756)=psp(1540:1575)+yab*psp(1081:1116)
lpg(757:783)=psp(1585:1611)+yab*psp(1117:1143)
lpg(784:801)=psp(1621:1638)+yab*psp(1144:1161)
lpg(802:810)=psp(1648:1656)+yab*psp(1162:1170)
lpg(811:1215)=psp(1261:1665)+xab*psp(766:1170)
mpg(1:90)=psp(1666:1755)+zab*psp(1171:1260)
mpg(91:171)=psp(1765:1845)+zab*psp(1261:1341)
mpg(172:243)=psp(1855:1926)+zab*psp(1342:1413)
mpg(244:306)=psp(1936:1998)+zab*psp(1414:1476)
mpg(307:360)=psp(2008:2061)+zab*psp(1477:1530)
mpg(361:405)=psp(2071:2115)+zab*psp(1531:1575)
mpg(406:441)=psp(2125:2160)+zab*psp(1576:1611)
mpg(442:468)=psp(2170:2196)+zab*psp(1612:1638)
mpg(469:486)=psp(2206:2223)+zab*psp(1639:1656)
mpg(487:495)=psp(2233:2241)+zab*psp(1657:1665)
mpg(496:585)=psp(1675:1764)+yab*psp(1171:1260)
mpg(586:666)=psp(1774:1854)+yab*psp(1261:1341)
mpg(667:738)=psp(1864:1935)+yab*psp(1342:1413)
mpg(739:801)=psp(1945:2007)+yab*psp(1414:1476)
mpg(802:855)=psp(2017:2070)+yab*psp(1477:1530)
mpg(856:900)=psp(2080:2124)+yab*psp(1531:1575)
mpg(901:936)=psp(2134:2169)+yab*psp(1576:1611)
mpg(937:963)=psp(2179:2205)+yab*psp(1612:1638)
mpg(964:981)=psp(2215:2232)+yab*psp(1639:1656)
mpg(982:990)=psp(2242:2250)+yab*psp(1657:1665)
mpg(991:1485)=psp(1765:2259)+xab*psp(1171:1665)
hdg(1:54)=ipg(1:54)+zab*hpg(1:54)
hdg(55:99)=ipg(64:108)+zab*hpg(55:99)
hdg(100:135)=ipg(118:153)+zab*hpg(100:135)
hdg(136:162)=ipg(163:189)+zab*hpg(136:162)
hdg(163:180)=ipg(199:216)+zab*hpg(163:180)
hdg(181:189)=ipg(226:234)+zab*hpg(181:189)
hdg(379:432)=ipg(262:315)+yab*hpg(190:243)
hdg(433:477)=ipg(325:369)+yab*hpg(244:288)
hdg(478:513)=ipg(379:414)+yab*hpg(289:324)
hdg(514:540)=ipg(424:450)+yab*hpg(325:351)
hdg(541:558)=ipg(460:477)+yab*hpg(352:369)
hdg(559:567)=ipg(487:495)+yab*hpg(370:378)
hdg(946:1134)=ipg(568:756)+xab*hpg(379:567)
idg(1:63)=kpg(1:63)+zab*ipg(1:63)
idg(64:117)=kpg(73:126)+zab*ipg(64:117)
idg(118:162)=kpg(136:180)+zab*ipg(118:162)
idg(163:198)=kpg(190:225)+zab*ipg(163:198)
idg(199:225)=kpg(235:261)+zab*ipg(199:225)
idg(226:243)=kpg(271:288)+zab*ipg(226:243)
idg(244:252)=kpg(298:306)+zab*ipg(244:252)
idg(505:567)=kpg(334:396)+yab*ipg(253:315)
idg(568:621)=kpg(406:459)+yab*ipg(316:369)
idg(622:666)=kpg(469:513)+yab*ipg(370:414)
idg(667:702)=kpg(523:558)+yab*ipg(415:450)
idg(703:729)=kpg(568:594)+yab*ipg(451:477)
idg(730:747)=kpg(604:621)+yab*ipg(478:495)
idg(748:756)=kpg(631:639)+yab*ipg(496:504)
idg(1261:1512)=kpg(721:972)+xab*ipg(505:756)
kdg(1:72)=lpg(1:72)+zab*kpg(1:72)
kdg(73:135)=lpg(82:144)+zab*kpg(73:135)
kdg(136:189)=lpg(154:207)+zab*kpg(136:189)
kdg(190:234)=lpg(217:261)+zab*kpg(190:234)
kdg(235:270)=lpg(271:306)+zab*kpg(235:270)
kdg(271:297)=lpg(316:342)+zab*kpg(271:297)
kdg(298:315)=lpg(352:369)+zab*kpg(298:315)
kdg(316:324)=lpg(379:387)+zab*kpg(316:324)
kdg(649:720)=lpg(415:486)+yab*kpg(325:396)
kdg(721:783)=lpg(496:558)+yab*kpg(397:459)
kdg(784:837)=lpg(568:621)+yab*kpg(460:513)
kdg(838:882)=lpg(631:675)+yab*kpg(514:558)
kdg(883:918)=lpg(685:720)+yab*kpg(559:594)
kdg(919:945)=lpg(730:756)+yab*kpg(595:621)
kdg(946:963)=lpg(766:783)+yab*kpg(622:639)
kdg(964:972)=lpg(793:801)+yab*kpg(640:648)
kdg(1621:1944)=lpg(892:1215)+xab*kpg(649:972)
ldg(1:81)=mpg(1:81)+zab*lpg(1:81)
ldg(82:153)=mpg(91:162)+zab*lpg(82:153)
ldg(154:216)=mpg(172:234)+zab*lpg(154:216)
ldg(217:270)=mpg(244:297)+zab*lpg(217:270)
ldg(271:315)=mpg(307:351)+zab*lpg(271:315)
ldg(316:351)=mpg(361:396)+zab*lpg(316:351)
ldg(352:378)=mpg(406:432)+zab*lpg(352:378)
ldg(379:396)=mpg(442:459)+zab*lpg(379:396)
ldg(397:405)=mpg(469:477)+zab*lpg(397:405)
ldg(811:891)=mpg(505:585)+yab*lpg(406:486)
ldg(892:963)=mpg(595:666)+yab*lpg(487:558)
ldg(964:1026)=mpg(676:738)+yab*lpg(559:621)
ldg(1027:1080)=mpg(748:801)+yab*lpg(622:675)
ldg(1081:1125)=mpg(811:855)+yab*lpg(676:720)
ldg(1126:1161)=mpg(865:900)+yab*lpg(721:756)
ldg(1162:1188)=mpg(910:936)+yab*lpg(757:783)
ldg(1189:1206)=mpg(946:963)+yab*lpg(784:801)
ldg(1207:1215)=mpg(973:981)+yab*lpg(802:810)
ldg(2026:2430)=mpg(1081:1485)+xab*lpg(811:1215)
hfg(1:54)=idg(1:54)+zab*hdg(1:54)
hfg(55:99)=idg(64:108)+zab*hdg(55:99)
hfg(100:135)=idg(118:153)+zab*hdg(100:135)
hfg(136:162)=idg(163:189)+zab*hdg(136:162)
hfg(163:180)=idg(199:216)+zab*hdg(163:180)
hfg(181:189)=idg(226:234)+zab*hdg(181:189)
hfg(568:621)=idg(514:567)+yab*hdg(379:432)
hfg(622:666)=idg(577:621)+yab*hdg(433:477)
hfg(667:702)=idg(631:666)+yab*hdg(478:513)
hfg(703:729)=idg(676:702)+yab*hdg(514:540)
hfg(730:747)=idg(712:729)+yab*hdg(541:558)
hfg(748:756)=idg(739:747)+yab*hdg(559:567)
hfg(757:945)=idg(64:252)+xab*hdg(1:189)
hfg(1513:1566)=idg(1270:1323)+yab*hdg(946:999)
hfg(1567:1611)=idg(1333:1377)+yab*hdg(1000:1044)
hfg(1612:1647)=idg(1387:1422)+yab*hdg(1045:1080)
hfg(1648:1674)=idg(1432:1458)+yab*hdg(1081:1107)
hfg(1675:1692)=idg(1468:1485)+yab*hdg(1108:1125)
hfg(1693:1701)=idg(1495:1503)+yab*hdg(1126:1134)
hfg(1702:1890)=idg(1324:1512)+xab*hdg(946:1134)
ifg(1:63)=kdg(1:63)+zab*idg(1:63)
ifg(64:117)=kdg(73:126)+zab*idg(64:117)
ifg(118:162)=kdg(136:180)+zab*idg(118:162)
ifg(163:198)=kdg(190:225)+zab*idg(163:198)
ifg(199:225)=kdg(235:261)+zab*idg(199:225)
ifg(226:243)=kdg(271:288)+zab*idg(226:243)
ifg(244:252)=kdg(298:306)+zab*idg(244:252)
ifg(757:819)=kdg(658:720)+yab*idg(505:567)
ifg(820:873)=kdg(730:783)+yab*idg(568:621)
ifg(874:918)=kdg(793:837)+yab*idg(622:666)
ifg(919:954)=kdg(847:882)+yab*idg(667:702)
ifg(955:981)=kdg(892:918)+yab*idg(703:729)
ifg(982:999)=kdg(928:945)+yab*idg(730:747)
ifg(1000:1008)=kdg(955:963)+yab*idg(748:756)
ifg(1009:1260)=kdg(73:324)+xab*idg(1:252)
ifg(2017:2079)=kdg(1630:1692)+yab*idg(1261:1323)
ifg(2080:2133)=kdg(1702:1755)+yab*idg(1324:1377)
ifg(2134:2178)=kdg(1765:1809)+yab*idg(1378:1422)
ifg(2179:2214)=kdg(1819:1854)+yab*idg(1423:1458)
ifg(2215:2241)=kdg(1864:1890)+yab*idg(1459:1485)
ifg(2242:2259)=kdg(1900:1917)+yab*idg(1486:1503)
ifg(2260:2268)=kdg(1927:1935)+yab*idg(1504:1512)
ifg(2269:2520)=kdg(1693:1944)+xab*idg(1261:1512)
kfg(1:72)=ldg(1:72)+zab*kdg(1:72)
kfg(73:135)=ldg(82:144)+zab*kdg(73:135)
kfg(136:189)=ldg(154:207)+zab*kdg(136:189)
kfg(190:234)=ldg(217:261)+zab*kdg(190:234)
kfg(235:270)=ldg(271:306)+zab*kdg(235:270)
kfg(271:297)=ldg(316:342)+zab*kdg(271:297)
kfg(298:315)=ldg(352:369)+zab*kdg(298:315)
kfg(316:324)=ldg(379:387)+zab*kdg(316:324)
kfg(973:1044)=ldg(820:891)+yab*kdg(649:720)
kfg(1045:1107)=ldg(901:963)+yab*kdg(721:783)
kfg(1108:1161)=ldg(973:1026)+yab*kdg(784:837)
kfg(1162:1206)=ldg(1036:1080)+yab*kdg(838:882)
kfg(1207:1242)=ldg(1090:1125)+yab*kdg(883:918)
kfg(1243:1269)=ldg(1135:1161)+yab*kdg(919:945)
kfg(1270:1287)=ldg(1171:1188)+yab*kdg(946:963)
kfg(1288:1296)=ldg(1198:1206)+yab*kdg(964:972)
kfg(1297:1620)=ldg(82:405)+xab*kdg(1:324)
kfg(2593:2664)=ldg(2035:2106)+yab*kdg(1621:1692)
kfg(2665:2727)=ldg(2116:2178)+yab*kdg(1693:1755)
kfg(2728:2781)=ldg(2188:2241)+yab*kdg(1756:1809)
kfg(2782:2826)=ldg(2251:2295)+yab*kdg(1810:1854)
kfg(2827:2862)=ldg(2305:2340)+yab*kdg(1855:1890)
kfg(2863:2889)=ldg(2350:2376)+yab*kdg(1891:1917)
kfg(2890:2907)=ldg(2386:2403)+yab*kdg(1918:1935)
kfg(2908:2916)=ldg(2413:2421)+yab*kdg(1936:1944)
kfg(2917:3240)=ldg(2107:2430)+xab*kdg(1621:1944)
hgg(1:54)=ifg(1:54)+zab*hfg(1:54)
hgg(55:99)=ifg(64:108)+zab*hfg(55:99)
hgg(100:135)=ifg(118:153)+zab*hfg(100:135)
hgg(136:162)=ifg(163:189)+zab*hfg(136:162)
hgg(163:180)=ifg(199:216)+zab*hfg(163:180)
hgg(181:189)=ifg(226:234)+zab*hfg(181:189)
hgg(190:243)=ifg(10:63)+yab*hfg(1:54)
hgg(244:288)=ifg(73:117)+yab*hfg(55:99)
hgg(289:324)=ifg(127:162)+yab*hfg(100:135)
hgg(325:351)=ifg(172:198)+yab*hfg(136:162)
hgg(352:369)=ifg(208:225)+yab*hfg(163:180)
hgg(370:378)=ifg(235:243)+yab*hfg(181:189)
hgg(568:621)=ifg(757:810)+zab*hfg(568:621)
hgg(622:666)=ifg(820:864)+zab*hfg(622:666)
hgg(667:702)=ifg(874:909)+zab*hfg(667:702)
hgg(703:729)=ifg(919:945)+zab*hfg(703:729)
hgg(730:747)=ifg(955:972)+zab*hfg(730:747)
hgg(748:756)=ifg(982:990)+zab*hfg(748:756)
hgg(757:810)=ifg(766:819)+yab*hfg(568:621)
hgg(811:855)=ifg(829:873)+yab*hfg(622:666)
hgg(856:891)=ifg(883:918)+yab*hfg(667:702)
hgg(892:918)=ifg(928:954)+yab*hfg(703:729)
hgg(919:936)=ifg(964:981)+yab*hfg(730:747)
hgg(937:945)=ifg(991:999)+yab*hfg(748:756)
hgg(946:1134)=ifg(64:252)+xab*hfg(1:189)
hgg(1135:1188)=ifg(1018:1071)+yab*hfg(757:810)
hgg(1189:1233)=ifg(1081:1125)+yab*hfg(811:855)
hgg(1234:1269)=ifg(1135:1170)+yab*hfg(856:891)
hgg(1270:1296)=ifg(1180:1206)+yab*hfg(892:918)
hgg(1297:1314)=ifg(1216:1233)+yab*hfg(919:936)
hgg(1315:1323)=ifg(1243:1251)+yab*hfg(937:945)
hgg(2080:2133)=ifg(2026:2079)+yab*hfg(1513:1566)
hgg(2134:2178)=ifg(2089:2133)+yab*hfg(1567:1611)
hgg(2179:2214)=ifg(2143:2178)+yab*hfg(1612:1647)
hgg(2215:2241)=ifg(2188:2214)+yab*hfg(1648:1674)
hgg(2242:2259)=ifg(2224:2241)+yab*hfg(1675:1692)
hgg(2260:2268)=ifg(2251:2259)+yab*hfg(1693:1701)
hgg(2269:2322)=ifg(2269:2322)+zab*hfg(1702:1755)
hgg(2323:2367)=ifg(2332:2376)+zab*hfg(1756:1800)
hgg(2368:2403)=ifg(2386:2421)+zab*hfg(1801:1836)
hgg(2404:2430)=ifg(2431:2457)+zab*hfg(1837:1863)
hgg(2431:2448)=ifg(2467:2484)+zab*hfg(1864:1881)
hgg(2449:2457)=ifg(2494:2502)+zab*hfg(1882:1890)
hgg(2647:2835)=ifg(2332:2520)+xab*hfg(1702:1890)
igg(1:63)=kfg(1:63)+zab*ifg(1:63)
igg(64:117)=kfg(73:126)+zab*ifg(64:117)
igg(118:162)=kfg(136:180)+zab*ifg(118:162)
igg(163:198)=kfg(190:225)+zab*ifg(163:198)
igg(199:225)=kfg(235:261)+zab*ifg(199:225)
igg(226:243)=kfg(271:288)+zab*ifg(226:243)
igg(244:252)=kfg(298:306)+zab*ifg(244:252)
igg(253:315)=kfg(10:72)+yab*ifg(1:63)
igg(316:369)=kfg(82:135)+yab*ifg(64:117)
igg(370:414)=kfg(145:189)+yab*ifg(118:162)
igg(415:450)=kfg(199:234)+yab*ifg(163:198)
igg(451:477)=kfg(244:270)+yab*ifg(199:225)
igg(478:495)=kfg(280:297)+yab*ifg(226:243)
igg(496:504)=kfg(307:315)+yab*ifg(244:252)
igg(757:819)=kfg(973:1035)+zab*ifg(757:819)
igg(820:873)=kfg(1045:1098)+zab*ifg(820:873)
igg(874:918)=kfg(1108:1152)+zab*ifg(874:918)
igg(919:954)=kfg(1162:1197)+zab*ifg(919:954)
igg(955:981)=kfg(1207:1233)+zab*ifg(955:981)
igg(982:999)=kfg(1243:1260)+zab*ifg(982:999)
igg(1000:1008)=kfg(1270:1278)+zab*ifg(1000:1008)
igg(1009:1071)=kfg(982:1044)+yab*ifg(757:819)
igg(1072:1125)=kfg(1054:1107)+yab*ifg(820:873)
igg(1126:1170)=kfg(1117:1161)+yab*ifg(874:918)
igg(1171:1206)=kfg(1171:1206)+yab*ifg(919:954)
igg(1207:1233)=kfg(1216:1242)+yab*ifg(955:981)
igg(1234:1251)=kfg(1252:1269)+yab*ifg(982:999)
igg(1252:1260)=kfg(1279:1287)+yab*ifg(1000:1008)
igg(1261:1512)=kfg(73:324)+xab*ifg(1:252)
igg(1513:1575)=kfg(1306:1368)+yab*ifg(1009:1071)
igg(1576:1629)=kfg(1378:1431)+yab*ifg(1072:1125)
igg(1630:1674)=kfg(1441:1485)+yab*ifg(1126:1170)
igg(1675:1710)=kfg(1495:1530)+yab*ifg(1171:1206)
igg(1711:1737)=kfg(1540:1566)+yab*ifg(1207:1233)
igg(1738:1755)=kfg(1576:1593)+yab*ifg(1234:1251)
igg(1756:1764)=kfg(1603:1611)+yab*ifg(1252:1260)
igg(2773:2835)=kfg(2602:2664)+yab*ifg(2017:2079)
igg(2836:2889)=kfg(2674:2727)+yab*ifg(2080:2133)
igg(2890:2934)=kfg(2737:2781)+yab*ifg(2134:2178)
igg(2935:2970)=kfg(2791:2826)+yab*ifg(2179:2214)
igg(2971:2997)=kfg(2836:2862)+yab*ifg(2215:2241)
igg(2998:3015)=kfg(2872:2889)+yab*ifg(2242:2259)
igg(3016:3024)=kfg(2899:2907)+yab*ifg(2260:2268)
igg(3025:3087)=kfg(2917:2979)+zab*ifg(2269:2331)
igg(3088:3141)=kfg(2989:3042)+zab*ifg(2332:2385)
igg(3142:3186)=kfg(3052:3096)+zab*ifg(2386:2430)
igg(3187:3222)=kfg(3106:3141)+zab*ifg(2431:2466)
igg(3223:3249)=kfg(3151:3177)+zab*ifg(2467:2493)
igg(3250:3267)=kfg(3187:3204)+zab*ifg(2494:2511)
igg(3268:3276)=kfg(3214:3222)+zab*ifg(2512:2520)
igg(3529:3780)=kfg(2989:3240)+xab*ifg(2269:2520)
psp2(1:54)=igg(1:54)+zab*hgg(1:54)
psp2(55:99)=igg(64:108)+zab*hgg(55:99)
psp2(100:135)=igg(118:153)+zab*hgg(100:135)
psp2(136:162)=igg(163:189)+zab*hgg(136:162)
psp2(163:180)=igg(199:216)+zab*hgg(163:180)
psp2(181:189)=igg(226:234)+zab*hgg(181:189)
psp2(190:243)=igg(10:63)+yab*hgg(1:54)
psp2(244:288)=igg(73:117)+yab*hgg(55:99)
psp2(289:324)=igg(127:162)+yab*hgg(100:135)
psp2(325:351)=igg(172:198)+yab*hgg(136:162)
psp2(352:369)=igg(208:225)+yab*hgg(163:180)
psp2(370:378)=igg(235:243)+yab*hgg(181:189)
psp2(379:432)=igg(262:315)+yab*hgg(190:243)
psp2(433:477)=igg(325:369)+yab*hgg(244:288)
psp2(478:513)=igg(379:414)+yab*hgg(289:324)
psp2(514:540)=igg(424:450)+yab*hgg(325:351)
psp2(541:558)=igg(460:477)+yab*hgg(352:369)
psp2(559:567)=igg(487:495)+yab*hgg(370:378)
psp2(568:621)=igg(757:810)+zab*hgg(568:621)
psp2(622:666)=igg(820:864)+zab*hgg(622:666)
psp2(667:702)=igg(874:909)+zab*hgg(667:702)
psp2(703:729)=igg(919:945)+zab*hgg(703:729)
psp2(730:747)=igg(955:972)+zab*hgg(730:747)
psp2(748:756)=igg(982:990)+zab*hgg(748:756)
psp2(757:810)=igg(1009:1062)+zab*hgg(757:810)
psp2(811:855)=igg(1072:1116)+zab*hgg(811:855)
psp2(856:891)=igg(1126:1161)+zab*hgg(856:891)
psp2(892:918)=igg(1171:1197)+zab*hgg(892:918)
psp2(919:936)=igg(1207:1224)+zab*hgg(919:936)
psp2(937:945)=igg(1234:1242)+zab*hgg(937:945)
psp2(946:999)=igg(1018:1071)+yab*hgg(757:810)
psp2(1000:1044)=igg(1081:1125)+yab*hgg(811:855)
psp2(1045:1080)=igg(1135:1170)+yab*hgg(856:891)
psp2(1081:1107)=igg(1180:1206)+yab*hgg(892:918)
psp2(1108:1125)=igg(1216:1233)+yab*hgg(919:936)
psp2(1126:1134)=igg(1243:1251)+yab*hgg(937:945)
psp2(1135:1323)=igg(64:252)+xab*hgg(1:189)
psp2(1324:1512)=igg(316:504)+xab*hgg(190:378)
psp2(1513:1566)=igg(1522:1575)+yab*hgg(1135:1188)
psp2(1567:1611)=igg(1585:1629)+yab*hgg(1189:1233)
psp2(1612:1647)=igg(1639:1674)+yab*hgg(1234:1269)
psp2(1648:1674)=igg(1684:1710)+yab*hgg(1270:1296)
psp2(1675:1692)=igg(1720:1737)+yab*hgg(1297:1314)
psp2(1693:1701)=igg(1747:1755)+yab*hgg(1315:1323)
psp2(1702:1890)=igg(820:1008)+xab*hgg(568:756)
psp2(1891:2079)=igg(1072:1260)+xab*hgg(757:945)
psp2(2080:2268)=igg(1324:1512)+xab*hgg(946:1134)
psp2(2269:2457)=igg(1576:1764)+xab*hgg(1135:1323)
psp2(2458:2511)=igg(2773:2826)+zab*hgg(2080:2133)
psp2(2512:2556)=igg(2836:2880)+zab*hgg(2134:2178)
psp2(2557:2592)=igg(2890:2925)+zab*hgg(2179:2214)
psp2(2593:2619)=igg(2935:2961)+zab*hgg(2215:2241)
psp2(2620:2637)=igg(2971:2988)+zab*hgg(2242:2259)
psp2(2638:2646)=igg(2998:3006)+zab*hgg(2260:2268)
psp2(2647:2700)=igg(2782:2835)+yab*hgg(2080:2133)
psp2(2701:2745)=igg(2845:2889)+yab*hgg(2134:2178)
psp2(2746:2781)=igg(2899:2934)+yab*hgg(2179:2214)
psp2(2782:2808)=igg(2944:2970)+yab*hgg(2215:2241)
psp2(2809:2826)=igg(2980:2997)+yab*hgg(2242:2259)
psp2(2827:2835)=igg(3007:3015)+yab*hgg(2260:2268)
psp2(2836:2889)=igg(3025:3078)+zab*hgg(2269:2322)
psp2(2890:2934)=igg(3088:3132)+zab*hgg(2323:2367)
psp2(2935:2970)=igg(3142:3177)+zab*hgg(2368:2403)
psp2(2971:2997)=igg(3187:3213)+zab*hgg(2404:2430)
psp2(2998:3015)=igg(3223:3240)+zab*hgg(2431:2448)
psp2(3016:3024)=igg(3250:3258)+zab*hgg(2449:2457)
psp2(3025:3078)=igg(3034:3087)+yab*hgg(2269:2322)
psp2(3079:3123)=igg(3097:3141)+yab*hgg(2323:2367)
psp2(3124:3159)=igg(3151:3186)+yab*hgg(2368:2403)
psp2(3160:3186)=igg(3196:3222)+yab*hgg(2404:2430)
psp2(3187:3204)=igg(3232:3249)+yab*hgg(2431:2448)
psp2(3205:3213)=igg(3259:3267)+yab*hgg(2449:2457)
psp2(3214:3402)=igg(2836:3024)+xab*hgg(2080:2268)
psp2(3403:3456)=igg(3529:3582)+zab*hgg(2647:2700)
psp2(3457:3501)=igg(3592:3636)+zab*hgg(2701:2745)
psp2(3502:3537)=igg(3646:3681)+zab*hgg(2746:2781)
psp2(3538:3564)=igg(3691:3717)+zab*hgg(2782:2808)
psp2(3565:3582)=igg(3727:3744)+zab*hgg(2809:2826)
psp2(3583:3591)=igg(3754:3762)+zab*hgg(2827:2835)
psp2(3592:3645)=igg(3538:3591)+yab*hgg(2647:2700)
psp2(3646:3690)=igg(3601:3645)+yab*hgg(2701:2745)
psp2(3691:3726)=igg(3655:3690)+yab*hgg(2746:2781)
psp2(3727:3753)=igg(3700:3726)+yab*hgg(2782:2808)
psp2(3754:3771)=igg(3736:3753)+yab*hgg(2809:2826)
psp2(3772:3780)=igg(3763:3771)+yab*hgg(2827:2835)
psp2(3781:3969)=igg(3592:3780)+xab*hgg(2647:2835)
sp(1:189)=psp2(946:1134)*0.70156076002011391601d0+psp2(2647:2835)*
$(-7.01560760020113871605d0)+psp2(3592:3780)*3.50780380010056935802
$d0
sp(190:378)=psp2(1702:1890)*(-8.87411967464942463835d0)+psp2(3025:
$3213)*8.87411967464942463835d0
sp(379:567)=psp2(568:756)*(-4.18330013267037692515d0)+psp2(946:113
$4)*0.52291251658379711564d0+psp2(2269:2457)*12.5499003980111325518
$0d0+psp2(2647:2835)*(-1.04582503316759423129d0)+psp2(3592:3780)*(-
$1.56873754975139156898d0)
sp(568:756)=psp2(1324:1512)*10.24695076595959974952d0+psp2(1702:18
$90)*(-5.12347538297979987476d0)+psp2(3025:3213)*(-5.12347538297979
$987476d0)
sp(757:945)=psp2(190:378)*3.87298334620741613321d0+psp2(568:756)*(
$-5.80947501931112419982d0)+psp2(946:1134)*0.48412291827592701665d0
$+psp2(2269:2457)*(-5.80947501931112419982d0)+psp2(2647:2835)*0.968
$24583655185403330d0+psp2(3592:3780)*0.48412291827592701665d0
sp(946:1134)=psp2(1:189)+psp2(379:567)*(-5.00000000000000000000d0)
$+psp2(757:945)*1.87500000000000000000d0+psp2(2080:2268)*(-5.000000
$00000000000000d0)+psp2(2458:2646)*3.75000000000000000000d0+psp2(34
$03:3591)*1.87500000000000000000d0
sp(1135:1323)=psp2(1135:1323)*3.87298334620741613321d0+psp2(1513:1
$701)*(-5.80947501931112419982d0)+psp2(1891:2079)*0.484122918275927
$01665d0+psp2(2836:3024)*(-5.80947501931112419982d0)+psp2(3214:3402
$)*0.96824583655185403330d0+psp2(3781:3969)*0.48412291827592701665d
$0
sp(1324:1512)=psp2(379:567)*(-5.12347538297979987476d0)+psp2(757:9
$45)*2.56173769148989993738d0+psp2(2080:2268)*5.1234753829797998747
$6d0+psp2(3403:3591)*(-2.56173769148989993738d0)
sp(1513:1701)=psp2(1513:1701)*(-12.54990039801113255180d0)+psp2(18
$91:2079)*1.56873754975139156898d0+psp2(2836:3024)*4.18330013267037
$692515d0+psp2(3214:3402)*1.04582503316759423129d0+psp2(3781:3969)*
$(-0.52291251658379711564d0)
sp(1702:1890)=psp2(757:945)*2.21852991866235615959d0+psp2(2458:264
$6)*(-13.31117951197413695752d0)+psp2(3403:3591)*2.2185299186623561
$5959d0
sp(1891:2079)=psp2(1891:2079)*3.50780380010056935802d0+psp2(3214:3
$402)*(-7.01560760020113871605d0)+psp2(3781:3969)*0.701560760020113
$91601d0
do ji=0,10
ki=ji*189
jk=ji*9
do ii=0,20
k=ii*9
il=ii*99
do ik=1,9
psp2(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:99)=psp2(496:594)*0.70156076002011391601d0+psp2(1387:1485)*(-
$7.01560760020113871605d0)+psp2(1882:1980)*3.50780380010056935802d0
sp(100:198)=psp2(892:990)*(-8.87411967464942463835d0)+psp2(1585:16
$83)*8.87411967464942463835d0
sp(199:297)=psp2(298:396)*(-4.18330013267037692515d0)+psp2(496:594
$)*0.52291251658379711564d0+psp2(1189:1287)*12.54990039801113255180
$d0+psp2(1387:1485)*(-1.04582503316759423129d0)+psp2(1882:1980)*(-1
$.56873754975139156898d0)
sp(298:396)=psp2(694:792)*10.24695076595959974952d0+psp2(892:990)*
$(-5.12347538297979987476d0)+psp2(1585:1683)*(-5.123475382979799874
$76d0)
sp(397:495)=psp2(100:198)*3.87298334620741613321d0+psp2(298:396)*(
$-5.80947501931112419982d0)+psp2(496:594)*0.48412291827592701665d0+
$psp2(1189:1287)*(-5.80947501931112419982d0)+psp2(1387:1485)*0.9682
$4583655185403330d0+psp2(1882:1980)*0.48412291827592701665d0
sp(496:594)=psp2(1:99)+psp2(199:297)*(-5.00000000000000000000d0)+p
$sp2(397:495)*1.87500000000000000000d0+psp2(1090:1188)*(-5.00000000
$000000000000d0)+psp2(1288:1386)*3.75000000000000000000d0+psp2(1783
$:1881)*1.87500000000000000000d0
sp(595:693)=psp2(595:693)*3.87298334620741613321d0+psp2(793:891)*(
$-5.80947501931112419982d0)+psp2(991:1089)*0.48412291827592701665d0
$+psp2(1486:1584)*(-5.80947501931112419982d0)+psp2(1684:1782)*0.968
$24583655185403330d0+psp2(1981:2079)*0.48412291827592701665d0
sp(694:792)=psp2(199:297)*(-5.12347538297979987476d0)+psp2(397:495
$)*2.56173769148989993738d0+psp2(1090:1188)*5.12347538297979987476d
$0+psp2(1783:1881)*(-2.56173769148989993738d0)
sp(793:891)=psp2(793:891)*(-12.54990039801113255180d0)+psp2(991:10
$89)*1.56873754975139156898d0+psp2(1486:1584)*4.1833001326703769251
$5d0+psp2(1684:1782)*1.04582503316759423129d0+psp2(1981:2079)*(-0.5
$2291251658379711564d0)
sp(892:990)=psp2(397:495)*2.21852991866235615959d0+psp2(1288:1386)
$*(-13.31117951197413695752d0)+psp2(1783:1881)*2.218529918662356159
$59d0
sp(991:1089)=psp2(991:1089)*3.50780380010056935802d0+psp2(1684:178
$2)*(-7.01560760020113871605d0)+psp2(1981:2079)*0.70156076002011391
$601d0
return
end
subroutine hrrspher_hhh_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(4851),psp(5271)
real*8 hph(693),iph(924),kph(1188),lph(1485),mph(1815),hdh(1386),i
$dh(1848),kdh(2376),ldh(2970),hfh(2310),ifh(3080),kfh(3960),hgh(346
$5),igh(4620),xab,yab,zab
sp(1:251)=psp(1256:1506)*0.70156076002011391601d0+psp(3515:3765)*(
$-7.01560760020113871605d0)+psp(4770:5020)*3.50780380010056935802d0
sp(252:502)=psp(2260:2510)*(-8.87411967464942463835d0)+psp(4017:42
$67)*8.87411967464942463835d0
sp(503:753)=psp(754:1004)*(-4.18330013267037692515d0)+psp(1256:150
$6)*0.52291251658379711564d0+psp(3013:3263)*12.54990039801113255180
$d0+psp(3515:3765)*(-1.04582503316759423129d0)+psp(4770:5020)*(-1.5
$6873754975139156898d0)
sp(754:1004)=psp(1758:2008)*10.24695076595959974952d0+psp(2260:251
$0)*(-5.12347538297979987476d0)+psp(4017:4267)*(-5.1234753829797998
$7476d0)
sp(1005:1255)=psp(252:502)*3.87298334620741613321d0+psp(754:1004)*
$(-5.80947501931112419982d0)+psp(1256:1506)*0.48412291827592701665d
$0+psp(3013:3263)*(-5.80947501931112419982d0)+psp(3515:3765)*0.9682
$4583655185403330d0+psp(4770:5020)*0.48412291827592701665d0
sp(1256:1506)=psp(1:251)+psp(503:753)*(-5.00000000000000000000d0)+
$psp(1005:1255)*1.87500000000000000000d0+psp(2762:3012)*(-5.0000000
$0000000000000d0)+psp(3264:3514)*3.75000000000000000000d0+psp(4519:
$4769)*1.87500000000000000000d0
sp(1507:1757)=psp(1507:1757)*3.87298334620741613321d0+psp(2009:225
$9)*(-5.80947501931112419982d0)+psp(2511:2761)*0.484122918275927016
$65d0+psp(3766:4016)*(-5.80947501931112419982d0)+psp(4268:4518)*0.9
$6824583655185403330d0+psp(5021:5271)*0.48412291827592701665d0
sp(1758:2008)=psp(503:753)*(-5.12347538297979987476d0)+psp(1005:12
$55)*2.56173769148989993738d0+psp(2762:3012)*5.12347538297979987476
$d0+psp(4519:4769)*(-2.56173769148989993738d0)
sp(2009:2259)=psp(2009:2259)*(-12.54990039801113255180d0)+psp(2511
$:2761)*1.56873754975139156898d0+psp(3766:4016)*4.18330013267037692
$515d0+psp(4268:4518)*1.04582503316759423129d0+psp(5021:5271)*(-0.5
$2291251658379711564d0)
sp(2260:2510)=psp(1005:1255)*2.21852991866235615959d0+psp(3264:351
$4)*(-13.31117951197413695752d0)+psp(4519:4769)*2.21852991866235615
$959d0
sp(2511:2761)=psp(2511:2761)*3.50780380010056935802d0+psp(4268:451
$8)*(-7.01560760020113871605d0)+psp(5021:5271)*0.701560760020113916
$01d0
do ii=1,11
ji=(ii-1)*251
do ki=1,251
psp((ki-1)*11+ii)=sp(ji+ki)
enddo
enddo
hph(1:66)=psp(232:297)+zab*psp(1:66)
hph(67:121)=psp(309:363)+zab*psp(67:121)
hph(122:165)=psp(375:418)+zab*psp(122:165)
hph(166:198)=psp(430:462)+zab*psp(166:198)
hph(199:220)=psp(474:495)+zab*psp(199:220)
hph(221:231)=psp(507:517)+zab*psp(221:231)
hph(232:297)=psp(243:308)+yab*psp(1:66)
hph(298:352)=psp(320:374)+yab*psp(67:121)
hph(353:396)=psp(386:429)+yab*psp(122:165)
hph(397:429)=psp(441:473)+yab*psp(166:198)
hph(430:451)=psp(485:506)+yab*psp(199:220)
hph(452:462)=psp(518:528)+yab*psp(221:231)
hph(463:693)=psp(309:539)+xab*psp(1:231)
iph(1:77)=psp(540:616)+zab*psp(232:308)
iph(78:143)=psp(628:693)+zab*psp(309:374)
iph(144:198)=psp(705:759)+zab*psp(375:429)
iph(199:242)=psp(771:814)+zab*psp(430:473)
iph(243:275)=psp(826:858)+zab*psp(474:506)
iph(276:297)=psp(870:891)+zab*psp(507:528)
iph(298:308)=psp(903:913)+zab*psp(529:539)
iph(309:385)=psp(551:627)+yab*psp(232:308)
iph(386:451)=psp(639:704)+yab*psp(309:374)
iph(452:506)=psp(716:770)+yab*psp(375:429)
iph(507:550)=psp(782:825)+yab*psp(430:473)
iph(551:583)=psp(837:869)+yab*psp(474:506)
iph(584:605)=psp(881:902)+yab*psp(507:528)
iph(606:616)=psp(914:924)+yab*psp(529:539)
iph(617:924)=psp(628:935)+xab*psp(232:539)
kph(1:88)=psp(936:1023)+zab*psp(540:627)
kph(89:165)=psp(1035:1111)+zab*psp(628:704)
kph(166:231)=psp(1123:1188)+zab*psp(705:770)
kph(232:286)=psp(1200:1254)+zab*psp(771:825)
kph(287:330)=psp(1266:1309)+zab*psp(826:869)
kph(331:363)=psp(1321:1353)+zab*psp(870:902)
kph(364:385)=psp(1365:1386)+zab*psp(903:924)
kph(386:396)=psp(1398:1408)+zab*psp(925:935)
kph(397:484)=psp(947:1034)+yab*psp(540:627)
kph(485:561)=psp(1046:1122)+yab*psp(628:704)
kph(562:627)=psp(1134:1199)+yab*psp(705:770)
kph(628:682)=psp(1211:1265)+yab*psp(771:825)
kph(683:726)=psp(1277:1320)+yab*psp(826:869)
kph(727:759)=psp(1332:1364)+yab*psp(870:902)
kph(760:781)=psp(1376:1397)+yab*psp(903:924)
kph(782:792)=psp(1409:1419)+yab*psp(925:935)
kph(793:1188)=psp(1035:1430)+xab*psp(540:935)
lph(1:99)=psp(1431:1529)+zab*psp(936:1034)
lph(100:187)=psp(1541:1628)+zab*psp(1035:1122)
lph(188:264)=psp(1640:1716)+zab*psp(1123:1199)
lph(265:330)=psp(1728:1793)+zab*psp(1200:1265)
lph(331:385)=psp(1805:1859)+zab*psp(1266:1320)
lph(386:429)=psp(1871:1914)+zab*psp(1321:1364)
lph(430:462)=psp(1926:1958)+zab*psp(1365:1397)
lph(463:484)=psp(1970:1991)+zab*psp(1398:1419)
lph(485:495)=psp(2003:2013)+zab*psp(1420:1430)
lph(496:594)=psp(1442:1540)+yab*psp(936:1034)
lph(595:682)=psp(1552:1639)+yab*psp(1035:1122)
lph(683:759)=psp(1651:1727)+yab*psp(1123:1199)
lph(760:825)=psp(1739:1804)+yab*psp(1200:1265)
lph(826:880)=psp(1816:1870)+yab*psp(1266:1320)
lph(881:924)=psp(1882:1925)+yab*psp(1321:1364)
lph(925:957)=psp(1937:1969)+yab*psp(1365:1397)
lph(958:979)=psp(1981:2002)+yab*psp(1398:1419)
lph(980:990)=psp(2014:2024)+yab*psp(1420:1430)
lph(991:1485)=psp(1541:2035)+xab*psp(936:1430)
mph(1:110)=psp(2036:2145)+zab*psp(1431:1540)
mph(111:209)=psp(2157:2255)+zab*psp(1541:1639)
mph(210:297)=psp(2267:2354)+zab*psp(1640:1727)
mph(298:374)=psp(2366:2442)+zab*psp(1728:1804)
mph(375:440)=psp(2454:2519)+zab*psp(1805:1870)
mph(441:495)=psp(2531:2585)+zab*psp(1871:1925)
mph(496:539)=psp(2597:2640)+zab*psp(1926:1969)
mph(540:572)=psp(2652:2684)+zab*psp(1970:2002)
mph(573:594)=psp(2696:2717)+zab*psp(2003:2024)
mph(595:605)=psp(2729:2739)+zab*psp(2025:2035)
mph(606:715)=psp(2047:2156)+yab*psp(1431:1540)
mph(716:814)=psp(2168:2266)+yab*psp(1541:1639)
mph(815:902)=psp(2278:2365)+yab*psp(1640:1727)
mph(903:979)=psp(2377:2453)+yab*psp(1728:1804)
mph(980:1045)=psp(2465:2530)+yab*psp(1805:1870)
mph(1046:1100)=psp(2542:2596)+yab*psp(1871:1925)
mph(1101:1144)=psp(2608:2651)+yab*psp(1926:1969)
mph(1145:1177)=psp(2663:2695)+yab*psp(1970:2002)
mph(1178:1199)=psp(2707:2728)+yab*psp(2003:2024)
mph(1200:1210)=psp(2740:2750)+yab*psp(2025:2035)
mph(1211:1815)=psp(2157:2761)+xab*psp(1431:2035)
hdh(1:66)=iph(1:66)+zab*hph(1:66)
hdh(67:121)=iph(78:132)+zab*hph(67:121)
hdh(122:165)=iph(144:187)+zab*hph(122:165)
hdh(166:198)=iph(199:231)+zab*hph(166:198)
hdh(199:220)=iph(243:264)+zab*hph(199:220)
hdh(221:231)=iph(276:286)+zab*hph(221:231)
hdh(463:528)=iph(320:385)+yab*hph(232:297)
hdh(529:583)=iph(397:451)+yab*hph(298:352)
hdh(584:627)=iph(463:506)+yab*hph(353:396)
hdh(628:660)=iph(518:550)+yab*hph(397:429)
hdh(661:682)=iph(562:583)+yab*hph(430:451)
hdh(683:693)=iph(595:605)+yab*hph(452:462)
hdh(1156:1386)=iph(694:924)+xab*hph(463:693)
idh(1:77)=kph(1:77)+zab*iph(1:77)
idh(78:143)=kph(89:154)+zab*iph(78:143)
idh(144:198)=kph(166:220)+zab*iph(144:198)
idh(199:242)=kph(232:275)+zab*iph(199:242)
idh(243:275)=kph(287:319)+zab*iph(243:275)
idh(276:297)=kph(331:352)+zab*iph(276:297)
idh(298:308)=kph(364:374)+zab*iph(298:308)
idh(617:693)=kph(408:484)+yab*iph(309:385)
idh(694:759)=kph(496:561)+yab*iph(386:451)
idh(760:814)=kph(573:627)+yab*iph(452:506)
idh(815:858)=kph(639:682)+yab*iph(507:550)
idh(859:891)=kph(694:726)+yab*iph(551:583)
idh(892:913)=kph(738:759)+yab*iph(584:605)
idh(914:924)=kph(771:781)+yab*iph(606:616)
idh(1541:1848)=kph(881:1188)+xab*iph(617:924)
kdh(1:88)=lph(1:88)+zab*kph(1:88)
kdh(89:165)=lph(100:176)+zab*kph(89:165)
kdh(166:231)=lph(188:253)+zab*kph(166:231)
kdh(232:286)=lph(265:319)+zab*kph(232:286)
kdh(287:330)=lph(331:374)+zab*kph(287:330)
kdh(331:363)=lph(386:418)+zab*kph(331:363)
kdh(364:385)=lph(430:451)+zab*kph(364:385)
kdh(386:396)=lph(463:473)+zab*kph(386:396)
kdh(793:880)=lph(507:594)+yab*kph(397:484)
kdh(881:957)=lph(606:682)+yab*kph(485:561)
kdh(958:1023)=lph(694:759)+yab*kph(562:627)
kdh(1024:1078)=lph(771:825)+yab*kph(628:682)
kdh(1079:1122)=lph(837:880)+yab*kph(683:726)
kdh(1123:1155)=lph(892:924)+yab*kph(727:759)
kdh(1156:1177)=lph(936:957)+yab*kph(760:781)
kdh(1178:1188)=lph(969:979)+yab*kph(782:792)
kdh(1981:2376)=lph(1090:1485)+xab*kph(793:1188)
ldh(1:99)=mph(1:99)+zab*lph(1:99)
ldh(100:187)=mph(111:198)+zab*lph(100:187)
ldh(188:264)=mph(210:286)+zab*lph(188:264)
ldh(265:330)=mph(298:363)+zab*lph(265:330)
ldh(331:385)=mph(375:429)+zab*lph(331:385)
ldh(386:429)=mph(441:484)+zab*lph(386:429)
ldh(430:462)=mph(496:528)+zab*lph(430:462)
ldh(463:484)=mph(540:561)+zab*lph(463:484)
ldh(485:495)=mph(573:583)+zab*lph(485:495)
ldh(991:1089)=mph(617:715)+yab*lph(496:594)
ldh(1090:1177)=mph(727:814)+yab*lph(595:682)
ldh(1178:1254)=mph(826:902)+yab*lph(683:759)
ldh(1255:1320)=mph(914:979)+yab*lph(760:825)
ldh(1321:1375)=mph(991:1045)+yab*lph(826:880)
ldh(1376:1419)=mph(1057:1100)+yab*lph(881:924)
ldh(1420:1452)=mph(1112:1144)+yab*lph(925:957)
ldh(1453:1474)=mph(1156:1177)+yab*lph(958:979)
ldh(1475:1485)=mph(1189:1199)+yab*lph(980:990)
ldh(2476:2970)=mph(1321:1815)+xab*lph(991:1485)
hfh(1:66)=idh(1:66)+zab*hdh(1:66)
hfh(67:121)=idh(78:132)+zab*hdh(67:121)
hfh(122:165)=idh(144:187)+zab*hdh(122:165)
hfh(166:198)=idh(199:231)+zab*hdh(166:198)
hfh(199:220)=idh(243:264)+zab*hdh(199:220)
hfh(221:231)=idh(276:286)+zab*hdh(221:231)
hfh(694:759)=idh(628:693)+yab*hdh(463:528)
hfh(760:814)=idh(705:759)+yab*hdh(529:583)
hfh(815:858)=idh(771:814)+yab*hdh(584:627)
hfh(859:891)=idh(826:858)+yab*hdh(628:660)
hfh(892:913)=idh(870:891)+yab*hdh(661:682)
hfh(914:924)=idh(903:913)+yab*hdh(683:693)
hfh(925:1155)=idh(78:308)+xab*hdh(1:231)
hfh(1849:1914)=idh(1552:1617)+yab*hdh(1156:1221)
hfh(1915:1969)=idh(1629:1683)+yab*hdh(1222:1276)
hfh(1970:2013)=idh(1695:1738)+yab*hdh(1277:1320)
hfh(2014:2046)=idh(1750:1782)+yab*hdh(1321:1353)
hfh(2047:2068)=idh(1794:1815)+yab*hdh(1354:1375)
hfh(2069:2079)=idh(1827:1837)+yab*hdh(1376:1386)
hfh(2080:2310)=idh(1618:1848)+xab*hdh(1156:1386)
ifh(1:77)=kdh(1:77)+zab*idh(1:77)
ifh(78:143)=kdh(89:154)+zab*idh(78:143)
ifh(144:198)=kdh(166:220)+zab*idh(144:198)
ifh(199:242)=kdh(232:275)+zab*idh(199:242)
ifh(243:275)=kdh(287:319)+zab*idh(243:275)
ifh(276:297)=kdh(331:352)+zab*idh(276:297)
ifh(298:308)=kdh(364:374)+zab*idh(298:308)
ifh(925:1001)=kdh(804:880)+yab*idh(617:693)
ifh(1002:1067)=kdh(892:957)+yab*idh(694:759)
ifh(1068:1122)=kdh(969:1023)+yab*idh(760:814)
ifh(1123:1166)=kdh(1035:1078)+yab*idh(815:858)
ifh(1167:1199)=kdh(1090:1122)+yab*idh(859:891)
ifh(1200:1221)=kdh(1134:1155)+yab*idh(892:913)
ifh(1222:1232)=kdh(1167:1177)+yab*idh(914:924)
ifh(1233:1540)=kdh(89:396)+xab*idh(1:308)
ifh(2465:2541)=kdh(1992:2068)+yab*idh(1541:1617)
ifh(2542:2607)=kdh(2080:2145)+yab*idh(1618:1683)
ifh(2608:2662)=kdh(2157:2211)+yab*idh(1684:1738)
ifh(2663:2706)=kdh(2223:2266)+yab*idh(1739:1782)
ifh(2707:2739)=kdh(2278:2310)+yab*idh(1783:1815)
ifh(2740:2761)=kdh(2322:2343)+yab*idh(1816:1837)
ifh(2762:2772)=kdh(2355:2365)+yab*idh(1838:1848)
ifh(2773:3080)=kdh(2069:2376)+xab*idh(1541:1848)
kfh(1:88)=ldh(1:88)+zab*kdh(1:88)
kfh(89:165)=ldh(100:176)+zab*kdh(89:165)
kfh(166:231)=ldh(188:253)+zab*kdh(166:231)
kfh(232:286)=ldh(265:319)+zab*kdh(232:286)
kfh(287:330)=ldh(331:374)+zab*kdh(287:330)
kfh(331:363)=ldh(386:418)+zab*kdh(331:363)
kfh(364:385)=ldh(430:451)+zab*kdh(364:385)
kfh(386:396)=ldh(463:473)+zab*kdh(386:396)
kfh(1189:1276)=ldh(1002:1089)+yab*kdh(793:880)
kfh(1277:1353)=ldh(1101:1177)+yab*kdh(881:957)
kfh(1354:1419)=ldh(1189:1254)+yab*kdh(958:1023)
kfh(1420:1474)=ldh(1266:1320)+yab*kdh(1024:1078)
kfh(1475:1518)=ldh(1332:1375)+yab*kdh(1079:1122)
kfh(1519:1551)=ldh(1387:1419)+yab*kdh(1123:1155)
kfh(1552:1573)=ldh(1431:1452)+yab*kdh(1156:1177)
kfh(1574:1584)=ldh(1464:1474)+yab*kdh(1178:1188)
kfh(1585:1980)=ldh(100:495)+xab*kdh(1:396)
kfh(3169:3256)=ldh(2487:2574)+yab*kdh(1981:2068)
kfh(3257:3333)=ldh(2586:2662)+yab*kdh(2069:2145)
kfh(3334:3399)=ldh(2674:2739)+yab*kdh(2146:2211)
kfh(3400:3454)=ldh(2751:2805)+yab*kdh(2212:2266)
kfh(3455:3498)=ldh(2817:2860)+yab*kdh(2267:2310)
kfh(3499:3531)=ldh(2872:2904)+yab*kdh(2311:2343)
kfh(3532:3553)=ldh(2916:2937)+yab*kdh(2344:2365)
kfh(3554:3564)=ldh(2949:2959)+yab*kdh(2366:2376)
kfh(3565:3960)=ldh(2575:2970)+xab*kdh(1981:2376)
hgh(1:66)=ifh(1:66)+zab*hfh(1:66)
hgh(67:121)=ifh(78:132)+zab*hfh(67:121)
hgh(122:165)=ifh(144:187)+zab*hfh(122:165)
hgh(166:198)=ifh(199:231)+zab*hfh(166:198)
hgh(199:220)=ifh(243:264)+zab*hfh(199:220)
hgh(221:231)=ifh(276:286)+zab*hfh(221:231)
hgh(232:297)=ifh(12:77)+yab*hfh(1:66)
hgh(298:352)=ifh(89:143)+yab*hfh(67:121)
hgh(353:396)=ifh(155:198)+yab*hfh(122:165)
hgh(397:429)=ifh(210:242)+yab*hfh(166:198)
hgh(430:451)=ifh(254:275)+yab*hfh(199:220)
hgh(452:462)=ifh(287:297)+yab*hfh(221:231)
hgh(694:759)=ifh(925:990)+zab*hfh(694:759)
hgh(760:814)=ifh(1002:1056)+zab*hfh(760:814)
hgh(815:858)=ifh(1068:1111)+zab*hfh(815:858)
hgh(859:891)=ifh(1123:1155)+zab*hfh(859:891)
hgh(892:913)=ifh(1167:1188)+zab*hfh(892:913)
hgh(914:924)=ifh(1200:1210)+zab*hfh(914:924)
hgh(925:990)=ifh(936:1001)+yab*hfh(694:759)
hgh(991:1045)=ifh(1013:1067)+yab*hfh(760:814)
hgh(1046:1089)=ifh(1079:1122)+yab*hfh(815:858)
hgh(1090:1122)=ifh(1134:1166)+yab*hfh(859:891)
hgh(1123:1144)=ifh(1178:1199)+yab*hfh(892:913)
hgh(1145:1155)=ifh(1211:1221)+yab*hfh(914:924)
hgh(1156:1386)=ifh(78:308)+xab*hfh(1:231)
hgh(1387:1452)=ifh(1244:1309)+yab*hfh(925:990)
hgh(1453:1507)=ifh(1321:1375)+yab*hfh(991:1045)
hgh(1508:1551)=ifh(1387:1430)+yab*hfh(1046:1089)
hgh(1552:1584)=ifh(1442:1474)+yab*hfh(1090:1122)
hgh(1585:1606)=ifh(1486:1507)+yab*hfh(1123:1144)
hgh(1607:1617)=ifh(1519:1529)+yab*hfh(1145:1155)
hgh(2542:2607)=ifh(2476:2541)+yab*hfh(1849:1914)
hgh(2608:2662)=ifh(2553:2607)+yab*hfh(1915:1969)
hgh(2663:2706)=ifh(2619:2662)+yab*hfh(1970:2013)
hgh(2707:2739)=ifh(2674:2706)+yab*hfh(2014:2046)
hgh(2740:2761)=ifh(2718:2739)+yab*hfh(2047:2068)
hgh(2762:2772)=ifh(2751:2761)+yab*hfh(2069:2079)
hgh(2773:2838)=ifh(2773:2838)+zab*hfh(2080:2145)
hgh(2839:2893)=ifh(2850:2904)+zab*hfh(2146:2200)
hgh(2894:2937)=ifh(2916:2959)+zab*hfh(2201:2244)
hgh(2938:2970)=ifh(2971:3003)+zab*hfh(2245:2277)
hgh(2971:2992)=ifh(3015:3036)+zab*hfh(2278:2299)
hgh(2993:3003)=ifh(3048:3058)+zab*hfh(2300:2310)
hgh(3235:3465)=ifh(2850:3080)+xab*hfh(2080:2310)
igh(1:77)=kfh(1:77)+zab*ifh(1:77)
igh(78:143)=kfh(89:154)+zab*ifh(78:143)
igh(144:198)=kfh(166:220)+zab*ifh(144:198)
igh(199:242)=kfh(232:275)+zab*ifh(199:242)
igh(243:275)=kfh(287:319)+zab*ifh(243:275)
igh(276:297)=kfh(331:352)+zab*ifh(276:297)
igh(298:308)=kfh(364:374)+zab*ifh(298:308)
igh(309:385)=kfh(12:88)+yab*ifh(1:77)
igh(386:451)=kfh(100:165)+yab*ifh(78:143)
igh(452:506)=kfh(177:231)+yab*ifh(144:198)
igh(507:550)=kfh(243:286)+yab*ifh(199:242)
igh(551:583)=kfh(298:330)+yab*ifh(243:275)
igh(584:605)=kfh(342:363)+yab*ifh(276:297)
igh(606:616)=kfh(375:385)+yab*ifh(298:308)
igh(925:1001)=kfh(1189:1265)+zab*ifh(925:1001)
igh(1002:1067)=kfh(1277:1342)+zab*ifh(1002:1067)
igh(1068:1122)=kfh(1354:1408)+zab*ifh(1068:1122)
igh(1123:1166)=kfh(1420:1463)+zab*ifh(1123:1166)
igh(1167:1199)=kfh(1475:1507)+zab*ifh(1167:1199)
igh(1200:1221)=kfh(1519:1540)+zab*ifh(1200:1221)
igh(1222:1232)=kfh(1552:1562)+zab*ifh(1222:1232)
igh(1233:1309)=kfh(1200:1276)+yab*ifh(925:1001)
igh(1310:1375)=kfh(1288:1353)+yab*ifh(1002:1067)
igh(1376:1430)=kfh(1365:1419)+yab*ifh(1068:1122)
igh(1431:1474)=kfh(1431:1474)+yab*ifh(1123:1166)
igh(1475:1507)=kfh(1486:1518)+yab*ifh(1167:1199)
igh(1508:1529)=kfh(1530:1551)+yab*ifh(1200:1221)
igh(1530:1540)=kfh(1563:1573)+yab*ifh(1222:1232)
igh(1541:1848)=kfh(89:396)+xab*ifh(1:308)
igh(1849:1925)=kfh(1596:1672)+yab*ifh(1233:1309)
igh(1926:1991)=kfh(1684:1749)+yab*ifh(1310:1375)
igh(1992:2046)=kfh(1761:1815)+yab*ifh(1376:1430)
igh(2047:2090)=kfh(1827:1870)+yab*ifh(1431:1474)
igh(2091:2123)=kfh(1882:1914)+yab*ifh(1475:1507)
igh(2124:2145)=kfh(1926:1947)+yab*ifh(1508:1529)
igh(2146:2156)=kfh(1959:1969)+yab*ifh(1530:1540)
igh(3389:3465)=kfh(3180:3256)+yab*ifh(2465:2541)
igh(3466:3531)=kfh(3268:3333)+yab*ifh(2542:2607)
igh(3532:3586)=kfh(3345:3399)+yab*ifh(2608:2662)
igh(3587:3630)=kfh(3411:3454)+yab*ifh(2663:2706)
igh(3631:3663)=kfh(3466:3498)+yab*ifh(2707:2739)
igh(3664:3685)=kfh(3510:3531)+yab*ifh(2740:2761)
igh(3686:3696)=kfh(3543:3553)+yab*ifh(2762:2772)
igh(3697:3773)=kfh(3565:3641)+zab*ifh(2773:2849)
igh(3774:3839)=kfh(3653:3718)+zab*ifh(2850:2915)
igh(3840:3894)=kfh(3730:3784)+zab*ifh(2916:2970)
igh(3895:3938)=kfh(3796:3839)+zab*ifh(2971:3014)
igh(3939:3971)=kfh(3851:3883)+zab*ifh(3015:3047)
igh(3972:3993)=kfh(3895:3916)+zab*ifh(3048:3069)
igh(3994:4004)=kfh(3928:3938)+zab*ifh(3070:3080)
igh(4313:4620)=kfh(3653:3960)+xab*ifh(2773:3080)
psp(1:66)=igh(1:66)+zab*hgh(1:66)
psp(67:121)=igh(78:132)+zab*hgh(67:121)
psp(122:165)=igh(144:187)+zab*hgh(122:165)
psp(166:198)=igh(199:231)+zab*hgh(166:198)
psp(199:220)=igh(243:264)+zab*hgh(199:220)
psp(221:231)=igh(276:286)+zab*hgh(221:231)
psp(232:297)=igh(12:77)+yab*hgh(1:66)
psp(298:352)=igh(89:143)+yab*hgh(67:121)
psp(353:396)=igh(155:198)+yab*hgh(122:165)
psp(397:429)=igh(210:242)+yab*hgh(166:198)
psp(430:451)=igh(254:275)+yab*hgh(199:220)
psp(452:462)=igh(287:297)+yab*hgh(221:231)
psp(463:528)=igh(320:385)+yab*hgh(232:297)
psp(529:583)=igh(397:451)+yab*hgh(298:352)
psp(584:627)=igh(463:506)+yab*hgh(353:396)
psp(628:660)=igh(518:550)+yab*hgh(397:429)
psp(661:682)=igh(562:583)+yab*hgh(430:451)
psp(683:693)=igh(595:605)+yab*hgh(452:462)
psp(694:759)=igh(925:990)+zab*hgh(694:759)
psp(760:814)=igh(1002:1056)+zab*hgh(760:814)
psp(815:858)=igh(1068:1111)+zab*hgh(815:858)
psp(859:891)=igh(1123:1155)+zab*hgh(859:891)
psp(892:913)=igh(1167:1188)+zab*hgh(892:913)
psp(914:924)=igh(1200:1210)+zab*hgh(914:924)
psp(925:990)=igh(1233:1298)+zab*hgh(925:990)
psp(991:1045)=igh(1310:1364)+zab*hgh(991:1045)
psp(1046:1089)=igh(1376:1419)+zab*hgh(1046:1089)
psp(1090:1122)=igh(1431:1463)+zab*hgh(1090:1122)
psp(1123:1144)=igh(1475:1496)+zab*hgh(1123:1144)
psp(1145:1155)=igh(1508:1518)+zab*hgh(1145:1155)
psp(1156:1221)=igh(1244:1309)+yab*hgh(925:990)
psp(1222:1276)=igh(1321:1375)+yab*hgh(991:1045)
psp(1277:1320)=igh(1387:1430)+yab*hgh(1046:1089)
psp(1321:1353)=igh(1442:1474)+yab*hgh(1090:1122)
psp(1354:1375)=igh(1486:1507)+yab*hgh(1123:1144)
psp(1376:1386)=igh(1519:1529)+yab*hgh(1145:1155)
psp(1387:1617)=igh(78:308)+xab*hgh(1:231)
psp(1618:1848)=igh(386:616)+xab*hgh(232:462)
psp(1849:1914)=igh(1860:1925)+yab*hgh(1387:1452)
psp(1915:1969)=igh(1937:1991)+yab*hgh(1453:1507)
psp(1970:2013)=igh(2003:2046)+yab*hgh(1508:1551)
psp(2014:2046)=igh(2058:2090)+yab*hgh(1552:1584)
psp(2047:2068)=igh(2102:2123)+yab*hgh(1585:1606)
psp(2069:2079)=igh(2135:2145)+yab*hgh(1607:1617)
psp(2080:2310)=igh(1002:1232)+xab*hgh(694:924)
psp(2311:2541)=igh(1310:1540)+xab*hgh(925:1155)
psp(2542:2772)=igh(1618:1848)+xab*hgh(1156:1386)
psp(2773:3003)=igh(1926:2156)+xab*hgh(1387:1617)
psp(3004:3069)=igh(3389:3454)+zab*hgh(2542:2607)
psp(3070:3124)=igh(3466:3520)+zab*hgh(2608:2662)
psp(3125:3168)=igh(3532:3575)+zab*hgh(2663:2706)
psp(3169:3201)=igh(3587:3619)+zab*hgh(2707:2739)
psp(3202:3223)=igh(3631:3652)+zab*hgh(2740:2761)
psp(3224:3234)=igh(3664:3674)+zab*hgh(2762:2772)
psp(3235:3300)=igh(3400:3465)+yab*hgh(2542:2607)
psp(3301:3355)=igh(3477:3531)+yab*hgh(2608:2662)
psp(3356:3399)=igh(3543:3586)+yab*hgh(2663:2706)
psp(3400:3432)=igh(3598:3630)+yab*hgh(2707:2739)
psp(3433:3454)=igh(3642:3663)+yab*hgh(2740:2761)
psp(3455:3465)=igh(3675:3685)+yab*hgh(2762:2772)
psp(3466:3531)=igh(3697:3762)+zab*hgh(2773:2838)
psp(3532:3586)=igh(3774:3828)+zab*hgh(2839:2893)
psp(3587:3630)=igh(3840:3883)+zab*hgh(2894:2937)
psp(3631:3663)=igh(3895:3927)+zab*hgh(2938:2970)
psp(3664:3685)=igh(3939:3960)+zab*hgh(2971:2992)
psp(3686:3696)=igh(3972:3982)+zab*hgh(2993:3003)
psp(3697:3762)=igh(3708:3773)+yab*hgh(2773:2838)
psp(3763:3817)=igh(3785:3839)+yab*hgh(2839:2893)
psp(3818:3861)=igh(3851:3894)+yab*hgh(2894:2937)
psp(3862:3894)=igh(3906:3938)+yab*hgh(2938:2970)
psp(3895:3916)=igh(3950:3971)+yab*hgh(2971:2992)
psp(3917:3927)=igh(3983:3993)+yab*hgh(2993:3003)
psp(3928:4158)=igh(3466:3696)+xab*hgh(2542:2772)
psp(4159:4224)=igh(4313:4378)+zab*hgh(3235:3300)
psp(4225:4279)=igh(4390:4444)+zab*hgh(3301:3355)
psp(4280:4323)=igh(4456:4499)+zab*hgh(3356:3399)
psp(4324:4356)=igh(4511:4543)+zab*hgh(3400:3432)
psp(4357:4378)=igh(4555:4576)+zab*hgh(3433:3454)
psp(4379:4389)=igh(4588:4598)+zab*hgh(3455:3465)
psp(4390:4455)=igh(4324:4389)+yab*hgh(3235:3300)
psp(4456:4510)=igh(4401:4455)+yab*hgh(3301:3355)
psp(4511:4554)=igh(4467:4510)+yab*hgh(3356:3399)
psp(4555:4587)=igh(4522:4554)+yab*hgh(3400:3432)
psp(4588:4609)=igh(4566:4587)+yab*hgh(3433:3454)
psp(4610:4620)=igh(4599:4609)+yab*hgh(3455:3465)
psp(4621:4851)=igh(4390:4620)+xab*hgh(3235:3465)
sp(1:231)=psp(1156:1386)*0.70156076002011391601d0+psp(3235:3465)*(
$-7.01560760020113871605d0)+psp(4390:4620)*3.50780380010056935802d0
sp(232:462)=psp(2080:2310)*(-8.87411967464942463835d0)+psp(3697:39
$27)*8.87411967464942463835d0
sp(463:693)=psp(694:924)*(-4.18330013267037692515d0)+psp(1156:1386
$)*0.52291251658379711564d0+psp(2773:3003)*12.54990039801113255180d
$0+psp(3235:3465)*(-1.04582503316759423129d0)+psp(4390:4620)*(-1.56
$873754975139156898d0)
sp(694:924)=psp(1618:1848)*10.24695076595959974952d0+psp(2080:2310
$)*(-5.12347538297979987476d0)+psp(3697:3927)*(-5.12347538297979987
$476d0)
sp(925:1155)=psp(232:462)*3.87298334620741613321d0+psp(694:924)*(-
$5.80947501931112419982d0)+psp(1156:1386)*0.48412291827592701665d0+
$psp(2773:3003)*(-5.80947501931112419982d0)+psp(3235:3465)*0.968245
$83655185403330d0+psp(4390:4620)*0.48412291827592701665d0
sp(1156:1386)=psp(1:231)+psp(463:693)*(-5.00000000000000000000d0)+
$psp(925:1155)*1.87500000000000000000d0+psp(2542:2772)*(-5.00000000
$000000000000d0)+psp(3004:3234)*3.75000000000000000000d0+psp(4159:4
$389)*1.87500000000000000000d0
sp(1387:1617)=psp(1387:1617)*3.87298334620741613321d0+psp(1849:207
$9)*(-5.80947501931112419982d0)+psp(2311:2541)*0.484122918275927016
$65d0+psp(3466:3696)*(-5.80947501931112419982d0)+psp(3928:4158)*0.9
$6824583655185403330d0+psp(4621:4851)*0.48412291827592701665d0
sp(1618:1848)=psp(463:693)*(-5.12347538297979987476d0)+psp(925:115
$5)*2.56173769148989993738d0+psp(2542:2772)*5.12347538297979987476d
$0+psp(4159:4389)*(-2.56173769148989993738d0)
sp(1849:2079)=psp(1849:2079)*(-12.54990039801113255180d0)+psp(2311
$:2541)*1.56873754975139156898d0+psp(3466:3696)*4.18330013267037692
$515d0+psp(3928:4158)*1.04582503316759423129d0+psp(4621:4851)*(-0.5
$2291251658379711564d0)
sp(2080:2310)=psp(925:1155)*2.21852991866235615959d0+psp(3004:3234
$)*(-13.31117951197413695752d0)+psp(4159:4389)*2.218529918662356159
$59d0
sp(2311:2541)=psp(2311:2541)*3.50780380010056935802d0+psp(3928:415
$8)*(-7.01560760020113871605d0)+psp(4621:4851)*0.701560760020113916
$01d0
do ji=0,10
ki=ji*231
jk=ji*11
do ii=0,20
k=ii*11
il=ii*121
do ik=1,11
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:121)=psp(606:726)*0.70156076002011391601d0+psp(1695:1815)*(-7
$.01560760020113871605d0)+psp(2300:2420)*3.50780380010056935802d0
sp(122:242)=psp(1090:1210)*(-8.87411967464942463835d0)+psp(1937:20
$57)*8.87411967464942463835d0
sp(243:363)=psp(364:484)*(-4.18330013267037692515d0)+psp(606:726)*
$0.52291251658379711564d0+psp(1453:1573)*12.54990039801113255180d0+
$psp(1695:1815)*(-1.04582503316759423129d0)+psp(2300:2420)*(-1.5687
$3754975139156898d0)
sp(364:484)=psp(848:968)*10.24695076595959974952d0+psp(1090:1210)*
$(-5.12347538297979987476d0)+psp(1937:2057)*(-5.1234753829797998747
$6d0)
sp(485:605)=psp(122:242)*3.87298334620741613321d0+psp(364:484)*(-5
$.80947501931112419982d0)+psp(606:726)*0.48412291827592701665d0+psp
$(1453:1573)*(-5.80947501931112419982d0)+psp(1695:1815)*0.968245836
$55185403330d0+psp(2300:2420)*0.48412291827592701665d0
sp(606:726)=psp(1:121)+psp(243:363)*(-5.00000000000000000000d0)+ps
$p(485:605)*1.87500000000000000000d0+psp(1332:1452)*(-5.00000000000
$000000000d0)+psp(1574:1694)*3.75000000000000000000d0+psp(2179:2299
$)*1.87500000000000000000d0
sp(727:847)=psp(727:847)*3.87298334620741613321d0+psp(969:1089)*(-
$5.80947501931112419982d0)+psp(1211:1331)*0.48412291827592701665d0+
$psp(1816:1936)*(-5.80947501931112419982d0)+psp(2058:2178)*0.968245
$83655185403330d0+psp(2421:2541)*0.48412291827592701665d0
sp(848:968)=psp(243:363)*(-5.12347538297979987476d0)+psp(485:605)*
$2.56173769148989993738d0+psp(1332:1452)*5.12347538297979987476d0+p
$sp(2179:2299)*(-2.56173769148989993738d0)
sp(969:1089)=psp(969:1089)*(-12.54990039801113255180d0)+psp(1211:1
$331)*1.56873754975139156898d0+psp(1816:1936)*4.1833001326703769251
$5d0+psp(2058:2178)*1.04582503316759423129d0+psp(2421:2541)*(-0.522
$91251658379711564d0)
sp(1090:1210)=psp(485:605)*2.21852991866235615959d0+psp(1574:1694)
$*(-13.31117951197413695752d0)+psp(2179:2299)*2.2185299186623561595
$9d0
sp(1211:1331)=psp(1211:1331)*3.50780380010056935802d0+psp(2058:217
$8)*(-7.01560760020113871605d0)+psp(2421:2541)*0.701560760020113916
$01d0
return
end
subroutine hrrspher_hhi_(psp,sp,xab,yab,zab)
implicit none
integer ii,ki
integer ji
integer jk,k,il,ik
real*8 sp(5733),psp(7028)
real*8 hpi(819),ipi(1092),kpi(1404),lpi(1755),mpi(2145),hdi(1638),
$idi(2184),kdi(2808),ldi(3510),hfi(2730),ifi(3640),kfi(4680),hgi(40
$95),igi(5460),xab,yab,zab
sp(1:251)=psp(3013:3263)*4.03015973628837986809d0+psp(5272:5522)*(
$-13.43386578762789973496d0)+psp(6527:6777)*4.03015973628837986809d
$0
sp(252:502)=psp(1256:1506)*2.32681380862329012515d0+psp(4017:4267)
$*(-23.26813808623289858701d0)+psp(5774:6024)*11.634069043116399555
$52d0
sp(503:753)=psp(2511:2761)*(-19.84313483298440061731d0)+psp(3013:3
$263)*1.98431348329843992850d0+psp(4770:5020)*19.843134832984400617
$31d0+psp(6527:6777)*(-1.98431348329843992850d0)
sp(754:1004)=psp(754:1004)*(-7.24568837309471991404d0)+psp(1256:15
$06)*2.71713313991052007879d0+psp(3515:3765)*21.7370651192841997101
$4d0+psp(4017:4267)*(-5.43426627982104015757d0)+psp(5774:6024)*(-8.
$15139941973155934818d0)
sp(1005:1255)=psp(2009:2259)*14.49137674618940074822d0+psp(2511:27
$61)*(-14.49137674618940074822d0)+psp(3013:3263)*0.9057110466368399
$8925d0+psp(4770:5020)*(-14.49137674618940074822d0)+psp(5272:5522)*
$1.81142209327367997851d0+psp(6527:6777)*0.90571104663683998925d0
sp(1256:1506)=psp(252:502)*4.58257569495583982899d0+psp(754:1004)*
$(-11.45643923738959912839d0)+psp(1256:1506)*2.86410980934739978210
$d0+psp(3515:3765)*(-11.45643923738959912839d0)+psp(4017:4267)*5.72
$821961869479956420d0+psp(5774:6024)*2.86410980934739978210d0
sp(1507:1757)=psp(1:251)+psp(503:753)*(-7.50000000000000000000d0)+
$psp(1005:1255)*5.62500000000000000000d0+psp(1507:1757)*(-0.3125000
$0000000000000d0)+psp(3264:3514)*(-7.50000000000000000000d0)+psp(37
$66:4016)*11.25000000000000000000d0+psp(4268:4518)*(-0.937500000000
$00000000d0)+psp(5523:5773)*5.62500000000000000000d0+psp(6025:6275)
$*(-0.93750000000000000000d0)+psp(6778:7028)*(-0.312500000000000000
$00d0)
sp(1758:2008)=psp(1758:2008)*4.58257569495583982899d0+psp(2260:251
$0)*(-11.45643923738959912839d0)+psp(2762:3012)*2.86410980934739978
$210d0+psp(4519:4769)*(-11.45643923738959912839d0)+psp(5021:5271)*5
$.72821961869479956420d0+psp(6276:6526)*2.86410980934739978210d0
sp(2009:2259)=psp(503:753)*(-7.24568837309471991404d0)+psp(1005:12
$55)*7.24568837309471991404d0+psp(1507:1757)*(-0.452855523318419994
$63d0)+psp(3264:3514)*7.24568837309471991404d0+psp(4268:4518)*(-0.4
$5285552331841999463d0)+psp(5523:5773)*(-7.24568837309471991404d0)+
$psp(6025:6275)*0.45285552331841999463d0+psp(6778:7028)*0.452855523
$31841999463d0
sp(2260:2510)=psp(2260:2510)*(-21.73706511928419971014d0)+psp(2762
$:3012)*8.15139941973155934818d0+psp(4519:4769)*7.24568837309471991
$404d0+psp(5021:5271)*5.43426627982104015757d0+psp(6276:6526)*(-2.7
$1713313991052007879d0)
sp(2511:2761)=psp(1005:1255)*4.96078370824610992429d0+psp(1507:175
$7)*(-0.49607837082461098133d0)+psp(3766:4016)*(-29.764702249476599
$14960d0)+psp(4268:4518)*2.48039185412305007716d0+psp(5523:5773)*4.
$96078370824610992429d0+psp(6025:6275)*2.48039185412305007716d0+psp
$(6778:7028)*(-0.49607837082461098133d0)
sp(2762:3012)=psp(2762:3012)*11.63406904311639955552d0+psp(5021:52
$71)*(-23.26813808623289858701d0)+psp(6276:6526)*2.3268138086232901
$2515d0
sp(3013:3263)=psp(1507:1757)*(-0.67169328938139605256d0)+psp(4268:
$4518)*10.07539934072089948813d0+psp(6025:6275)*(-10.07539934072089
$948813d0)+psp(6778:7028)*0.67169328938139605256d0
do ii=1,13
ji=(ii-1)*251
do ki=1,251
psp((ki-1)*13+ii)=sp(ji+ki)
enddo
enddo
hpi(1:78)=psp(274:351)+zab*psp(1:78)
hpi(79:143)=psp(365:429)+zab*psp(79:143)
hpi(144:195)=psp(443:494)+zab*psp(144:195)
hpi(196:234)=psp(508:546)+zab*psp(196:234)
hpi(235:260)=psp(560:585)+zab*psp(235:260)
hpi(261:273)=psp(599:611)+zab*psp(261:273)
hpi(274:351)=psp(287:364)+yab*psp(1:78)
hpi(352:416)=psp(378:442)+yab*psp(79:143)
hpi(417:468)=psp(456:507)+yab*psp(144:195)
hpi(469:507)=psp(521:559)+yab*psp(196:234)
hpi(508:533)=psp(573:598)+yab*psp(235:260)
hpi(534:546)=psp(612:624)+yab*psp(261:273)
hpi(547:819)=psp(365:637)+xab*psp(1:273)
ipi(1:91)=psp(638:728)+zab*psp(274:364)
ipi(92:169)=psp(742:819)+zab*psp(365:442)
ipi(170:234)=psp(833:897)+zab*psp(443:507)
ipi(235:286)=psp(911:962)+zab*psp(508:559)
ipi(287:325)=psp(976:1014)+zab*psp(560:598)
ipi(326:351)=psp(1028:1053)+zab*psp(599:624)
ipi(352:364)=psp(1067:1079)+zab*psp(625:637)
ipi(365:455)=psp(651:741)+yab*psp(274:364)
ipi(456:533)=psp(755:832)+yab*psp(365:442)
ipi(534:598)=psp(846:910)+yab*psp(443:507)
ipi(599:650)=psp(924:975)+yab*psp(508:559)
ipi(651:689)=psp(989:1027)+yab*psp(560:598)
ipi(690:715)=psp(1041:1066)+yab*psp(599:624)
ipi(716:728)=psp(1080:1092)+yab*psp(625:637)
ipi(729:1092)=psp(742:1105)+xab*psp(274:637)
kpi(1:104)=psp(1106:1209)+zab*psp(638:741)
kpi(105:195)=psp(1223:1313)+zab*psp(742:832)
kpi(196:273)=psp(1327:1404)+zab*psp(833:910)
kpi(274:338)=psp(1418:1482)+zab*psp(911:975)
kpi(339:390)=psp(1496:1547)+zab*psp(976:1027)
kpi(391:429)=psp(1561:1599)+zab*psp(1028:1066)
kpi(430:455)=psp(1613:1638)+zab*psp(1067:1092)
kpi(456:468)=psp(1652:1664)+zab*psp(1093:1105)
kpi(469:572)=psp(1119:1222)+yab*psp(638:741)
kpi(573:663)=psp(1236:1326)+yab*psp(742:832)
kpi(664:741)=psp(1340:1417)+yab*psp(833:910)
kpi(742:806)=psp(1431:1495)+yab*psp(911:975)
kpi(807:858)=psp(1509:1560)+yab*psp(976:1027)
kpi(859:897)=psp(1574:1612)+yab*psp(1028:1066)
kpi(898:923)=psp(1626:1651)+yab*psp(1067:1092)
kpi(924:936)=psp(1665:1677)+yab*psp(1093:1105)
kpi(937:1404)=psp(1223:1690)+xab*psp(638:1105)
lpi(1:117)=psp(1691:1807)+zab*psp(1106:1222)
lpi(118:221)=psp(1821:1924)+zab*psp(1223:1326)
lpi(222:312)=psp(1938:2028)+zab*psp(1327:1417)
lpi(313:390)=psp(2042:2119)+zab*psp(1418:1495)
lpi(391:455)=psp(2133:2197)+zab*psp(1496:1560)
lpi(456:507)=psp(2211:2262)+zab*psp(1561:1612)
lpi(508:546)=psp(2276:2314)+zab*psp(1613:1651)
lpi(547:572)=psp(2328:2353)+zab*psp(1652:1677)
lpi(573:585)=psp(2367:2379)+zab*psp(1678:1690)
lpi(586:702)=psp(1704:1820)+yab*psp(1106:1222)
lpi(703:806)=psp(1834:1937)+yab*psp(1223:1326)
lpi(807:897)=psp(1951:2041)+yab*psp(1327:1417)
lpi(898:975)=psp(2055:2132)+yab*psp(1418:1495)
lpi(976:1040)=psp(2146:2210)+yab*psp(1496:1560)
lpi(1041:1092)=psp(2224:2275)+yab*psp(1561:1612)
lpi(1093:1131)=psp(2289:2327)+yab*psp(1613:1651)
lpi(1132:1157)=psp(2341:2366)+yab*psp(1652:1677)
lpi(1158:1170)=psp(2380:2392)+yab*psp(1678:1690)
lpi(1171:1755)=psp(1821:2405)+xab*psp(1106:1690)
mpi(1:130)=psp(2406:2535)+zab*psp(1691:1820)
mpi(131:247)=psp(2549:2665)+zab*psp(1821:1937)
mpi(248:351)=psp(2679:2782)+zab*psp(1938:2041)
mpi(352:442)=psp(2796:2886)+zab*psp(2042:2132)
mpi(443:520)=psp(2900:2977)+zab*psp(2133:2210)
mpi(521:585)=psp(2991:3055)+zab*psp(2211:2275)
mpi(586:637)=psp(3069:3120)+zab*psp(2276:2327)
mpi(638:676)=psp(3134:3172)+zab*psp(2328:2366)
mpi(677:702)=psp(3186:3211)+zab*psp(2367:2392)
mpi(703:715)=psp(3225:3237)+zab*psp(2393:2405)
mpi(716:845)=psp(2419:2548)+yab*psp(1691:1820)
mpi(846:962)=psp(2562:2678)+yab*psp(1821:1937)
mpi(963:1066)=psp(2692:2795)+yab*psp(1938:2041)
mpi(1067:1157)=psp(2809:2899)+yab*psp(2042:2132)
mpi(1158:1235)=psp(2913:2990)+yab*psp(2133:2210)
mpi(1236:1300)=psp(3004:3068)+yab*psp(2211:2275)
mpi(1301:1352)=psp(3082:3133)+yab*psp(2276:2327)
mpi(1353:1391)=psp(3147:3185)+yab*psp(2328:2366)
mpi(1392:1417)=psp(3199:3224)+yab*psp(2367:2392)
mpi(1418:1430)=psp(3238:3250)+yab*psp(2393:2405)
mpi(1431:2145)=psp(2549:3263)+xab*psp(1691:2405)
hdi(1:78)=ipi(1:78)+zab*hpi(1:78)
hdi(79:143)=ipi(92:156)+zab*hpi(79:143)
hdi(144:195)=ipi(170:221)+zab*hpi(144:195)
hdi(196:234)=ipi(235:273)+zab*hpi(196:234)
hdi(235:260)=ipi(287:312)+zab*hpi(235:260)
hdi(261:273)=ipi(326:338)+zab*hpi(261:273)
hdi(547:624)=ipi(378:455)+yab*hpi(274:351)
hdi(625:689)=ipi(469:533)+yab*hpi(352:416)
hdi(690:741)=ipi(547:598)+yab*hpi(417:468)
hdi(742:780)=ipi(612:650)+yab*hpi(469:507)
hdi(781:806)=ipi(664:689)+yab*hpi(508:533)
hdi(807:819)=ipi(703:715)+yab*hpi(534:546)
hdi(1366:1638)=ipi(820:1092)+xab*hpi(547:819)
idi(1:91)=kpi(1:91)+zab*ipi(1:91)
idi(92:169)=kpi(105:182)+zab*ipi(92:169)
idi(170:234)=kpi(196:260)+zab*ipi(170:234)
idi(235:286)=kpi(274:325)+zab*ipi(235:286)
idi(287:325)=kpi(339:377)+zab*ipi(287:325)
idi(326:351)=kpi(391:416)+zab*ipi(326:351)
idi(352:364)=kpi(430:442)+zab*ipi(352:364)
idi(729:819)=kpi(482:572)+yab*ipi(365:455)
idi(820:897)=kpi(586:663)+yab*ipi(456:533)
idi(898:962)=kpi(677:741)+yab*ipi(534:598)
idi(963:1014)=kpi(755:806)+yab*ipi(599:650)
idi(1015:1053)=kpi(820:858)+yab*ipi(651:689)
idi(1054:1079)=kpi(872:897)+yab*ipi(690:715)
idi(1080:1092)=kpi(911:923)+yab*ipi(716:728)
idi(1821:2184)=kpi(1041:1404)+xab*ipi(729:1092)
kdi(1:104)=lpi(1:104)+zab*kpi(1:104)
kdi(105:195)=lpi(118:208)+zab*kpi(105:195)
kdi(196:273)=lpi(222:299)+zab*kpi(196:273)
kdi(274:338)=lpi(313:377)+zab*kpi(274:338)
kdi(339:390)=lpi(391:442)+zab*kpi(339:390)
kdi(391:429)=lpi(456:494)+zab*kpi(391:429)
kdi(430:455)=lpi(508:533)+zab*kpi(430:455)
kdi(456:468)=lpi(547:559)+zab*kpi(456:468)
kdi(937:1040)=lpi(599:702)+yab*kpi(469:572)
kdi(1041:1131)=lpi(716:806)+yab*kpi(573:663)
kdi(1132:1209)=lpi(820:897)+yab*kpi(664:741)
kdi(1210:1274)=lpi(911:975)+yab*kpi(742:806)
kdi(1275:1326)=lpi(989:1040)+yab*kpi(807:858)
kdi(1327:1365)=lpi(1054:1092)+yab*kpi(859:897)
kdi(1366:1391)=lpi(1106:1131)+yab*kpi(898:923)
kdi(1392:1404)=lpi(1145:1157)+yab*kpi(924:936)
kdi(2341:2808)=lpi(1288:1755)+xab*kpi(937:1404)
ldi(1:117)=mpi(1:117)+zab*lpi(1:117)
ldi(118:221)=mpi(131:234)+zab*lpi(118:221)
ldi(222:312)=mpi(248:338)+zab*lpi(222:312)
ldi(313:390)=mpi(352:429)+zab*lpi(313:390)
ldi(391:455)=mpi(443:507)+zab*lpi(391:455)
ldi(456:507)=mpi(521:572)+zab*lpi(456:507)
ldi(508:546)=mpi(586:624)+zab*lpi(508:546)
ldi(547:572)=mpi(638:663)+zab*lpi(547:572)
ldi(573:585)=mpi(677:689)+zab*lpi(573:585)
ldi(1171:1287)=mpi(729:845)+yab*lpi(586:702)
ldi(1288:1391)=mpi(859:962)+yab*lpi(703:806)
ldi(1392:1482)=mpi(976:1066)+yab*lpi(807:897)
ldi(1483:1560)=mpi(1080:1157)+yab*lpi(898:975)
ldi(1561:1625)=mpi(1171:1235)+yab*lpi(976:1040)
ldi(1626:1677)=mpi(1249:1300)+yab*lpi(1041:1092)
ldi(1678:1716)=mpi(1314:1352)+yab*lpi(1093:1131)
ldi(1717:1742)=mpi(1366:1391)+yab*lpi(1132:1157)
ldi(1743:1755)=mpi(1405:1417)+yab*lpi(1158:1170)
ldi(2926:3510)=mpi(1561:2145)+xab*lpi(1171:1755)
hfi(1:78)=idi(1:78)+zab*hdi(1:78)
hfi(79:143)=idi(92:156)+zab*hdi(79:143)
hfi(144:195)=idi(170:221)+zab*hdi(144:195)
hfi(196:234)=idi(235:273)+zab*hdi(196:234)
hfi(235:260)=idi(287:312)+zab*hdi(235:260)
hfi(261:273)=idi(326:338)+zab*hdi(261:273)
hfi(820:897)=idi(742:819)+yab*hdi(547:624)
hfi(898:962)=idi(833:897)+yab*hdi(625:689)
hfi(963:1014)=idi(911:962)+yab*hdi(690:741)
hfi(1015:1053)=idi(976:1014)+yab*hdi(742:780)
hfi(1054:1079)=idi(1028:1053)+yab*hdi(781:806)
hfi(1080:1092)=idi(1067:1079)+yab*hdi(807:819)
hfi(1093:1365)=idi(92:364)+xab*hdi(1:273)
hfi(2185:2262)=idi(1834:1911)+yab*hdi(1366:1443)
hfi(2263:2327)=idi(1925:1989)+yab*hdi(1444:1508)
hfi(2328:2379)=idi(2003:2054)+yab*hdi(1509:1560)
hfi(2380:2418)=idi(2068:2106)+yab*hdi(1561:1599)
hfi(2419:2444)=idi(2120:2145)+yab*hdi(1600:1625)
hfi(2445:2457)=idi(2159:2171)+yab*hdi(1626:1638)
hfi(2458:2730)=idi(1912:2184)+xab*hdi(1366:1638)
ifi(1:91)=kdi(1:91)+zab*idi(1:91)
ifi(92:169)=kdi(105:182)+zab*idi(92:169)
ifi(170:234)=kdi(196:260)+zab*idi(170:234)
ifi(235:286)=kdi(274:325)+zab*idi(235:286)
ifi(287:325)=kdi(339:377)+zab*idi(287:325)
ifi(326:351)=kdi(391:416)+zab*idi(326:351)
ifi(352:364)=kdi(430:442)+zab*idi(352:364)
ifi(1093:1183)=kdi(950:1040)+yab*idi(729:819)
ifi(1184:1261)=kdi(1054:1131)+yab*idi(820:897)
ifi(1262:1326)=kdi(1145:1209)+yab*idi(898:962)
ifi(1327:1378)=kdi(1223:1274)+yab*idi(963:1014)
ifi(1379:1417)=kdi(1288:1326)+yab*idi(1015:1053)
ifi(1418:1443)=kdi(1340:1365)+yab*idi(1054:1079)
ifi(1444:1456)=kdi(1379:1391)+yab*idi(1080:1092)
ifi(1457:1820)=kdi(105:468)+xab*idi(1:364)
ifi(2913:3003)=kdi(2354:2444)+yab*idi(1821:1911)
ifi(3004:3081)=kdi(2458:2535)+yab*idi(1912:1989)
ifi(3082:3146)=kdi(2549:2613)+yab*idi(1990:2054)
ifi(3147:3198)=kdi(2627:2678)+yab*idi(2055:2106)
ifi(3199:3237)=kdi(2692:2730)+yab*idi(2107:2145)
ifi(3238:3263)=kdi(2744:2769)+yab*idi(2146:2171)
ifi(3264:3276)=kdi(2783:2795)+yab*idi(2172:2184)
ifi(3277:3640)=kdi(2445:2808)+xab*idi(1821:2184)
kfi(1:104)=ldi(1:104)+zab*kdi(1:104)
kfi(105:195)=ldi(118:208)+zab*kdi(105:195)
kfi(196:273)=ldi(222:299)+zab*kdi(196:273)
kfi(274:338)=ldi(313:377)+zab*kdi(274:338)
kfi(339:390)=ldi(391:442)+zab*kdi(339:390)
kfi(391:429)=ldi(456:494)+zab*kdi(391:429)
kfi(430:455)=ldi(508:533)+zab*kdi(430:455)
kfi(456:468)=ldi(547:559)+zab*kdi(456:468)
kfi(1405:1508)=ldi(1184:1287)+yab*kdi(937:1040)
kfi(1509:1599)=ldi(1301:1391)+yab*kdi(1041:1131)
kfi(1600:1677)=ldi(1405:1482)+yab*kdi(1132:1209)
kfi(1678:1742)=ldi(1496:1560)+yab*kdi(1210:1274)
kfi(1743:1794)=ldi(1574:1625)+yab*kdi(1275:1326)
kfi(1795:1833)=ldi(1639:1677)+yab*kdi(1327:1365)
kfi(1834:1859)=ldi(1691:1716)+yab*kdi(1366:1391)
kfi(1860:1872)=ldi(1730:1742)+yab*kdi(1392:1404)
kfi(1873:2340)=ldi(118:585)+xab*kdi(1:468)
kfi(3745:3848)=ldi(2939:3042)+yab*kdi(2341:2444)
kfi(3849:3939)=ldi(3056:3146)+yab*kdi(2445:2535)
kfi(3940:4017)=ldi(3160:3237)+yab*kdi(2536:2613)
kfi(4018:4082)=ldi(3251:3315)+yab*kdi(2614:2678)
kfi(4083:4134)=ldi(3329:3380)+yab*kdi(2679:2730)
kfi(4135:4173)=ldi(3394:3432)+yab*kdi(2731:2769)
kfi(4174:4199)=ldi(3446:3471)+yab*kdi(2770:2795)
kfi(4200:4212)=ldi(3485:3497)+yab*kdi(2796:2808)
kfi(4213:4680)=ldi(3043:3510)+xab*kdi(2341:2808)
hgi(1:78)=ifi(1:78)+zab*hfi(1:78)
hgi(79:143)=ifi(92:156)+zab*hfi(79:143)
hgi(144:195)=ifi(170:221)+zab*hfi(144:195)
hgi(196:234)=ifi(235:273)+zab*hfi(196:234)
hgi(235:260)=ifi(287:312)+zab*hfi(235:260)
hgi(261:273)=ifi(326:338)+zab*hfi(261:273)
hgi(274:351)=ifi(14:91)+yab*hfi(1:78)
hgi(352:416)=ifi(105:169)+yab*hfi(79:143)
hgi(417:468)=ifi(183:234)+yab*hfi(144:195)
hgi(469:507)=ifi(248:286)+yab*hfi(196:234)
hgi(508:533)=ifi(300:325)+yab*hfi(235:260)
hgi(534:546)=ifi(339:351)+yab*hfi(261:273)
hgi(820:897)=ifi(1093:1170)+zab*hfi(820:897)
hgi(898:962)=ifi(1184:1248)+zab*hfi(898:962)
hgi(963:1014)=ifi(1262:1313)+zab*hfi(963:1014)
hgi(1015:1053)=ifi(1327:1365)+zab*hfi(1015:1053)
hgi(1054:1079)=ifi(1379:1404)+zab*hfi(1054:1079)
hgi(1080:1092)=ifi(1418:1430)+zab*hfi(1080:1092)
hgi(1093:1170)=ifi(1106:1183)+yab*hfi(820:897)
hgi(1171:1235)=ifi(1197:1261)+yab*hfi(898:962)
hgi(1236:1287)=ifi(1275:1326)+yab*hfi(963:1014)
hgi(1288:1326)=ifi(1340:1378)+yab*hfi(1015:1053)
hgi(1327:1352)=ifi(1392:1417)+yab*hfi(1054:1079)
hgi(1353:1365)=ifi(1431:1443)+yab*hfi(1080:1092)
hgi(1366:1638)=ifi(92:364)+xab*hfi(1:273)
hgi(1639:1716)=ifi(1470:1547)+yab*hfi(1093:1170)
hgi(1717:1781)=ifi(1561:1625)+yab*hfi(1171:1235)
hgi(1782:1833)=ifi(1639:1690)+yab*hfi(1236:1287)
hgi(1834:1872)=ifi(1704:1742)+yab*hfi(1288:1326)
hgi(1873:1898)=ifi(1756:1781)+yab*hfi(1327:1352)
hgi(1899:1911)=ifi(1795:1807)+yab*hfi(1353:1365)
hgi(3004:3081)=ifi(2926:3003)+yab*hfi(2185:2262)
hgi(3082:3146)=ifi(3017:3081)+yab*hfi(2263:2327)
hgi(3147:3198)=ifi(3095:3146)+yab*hfi(2328:2379)
hgi(3199:3237)=ifi(3160:3198)+yab*hfi(2380:2418)
hgi(3238:3263)=ifi(3212:3237)+yab*hfi(2419:2444)
hgi(3264:3276)=ifi(3251:3263)+yab*hfi(2445:2457)
hgi(3277:3354)=ifi(3277:3354)+zab*hfi(2458:2535)
hgi(3355:3419)=ifi(3368:3432)+zab*hfi(2536:2600)
hgi(3420:3471)=ifi(3446:3497)+zab*hfi(2601:2652)
hgi(3472:3510)=ifi(3511:3549)+zab*hfi(2653:2691)
hgi(3511:3536)=ifi(3563:3588)+zab*hfi(2692:2717)
hgi(3537:3549)=ifi(3602:3614)+zab*hfi(2718:2730)
hgi(3823:4095)=ifi(3368:3640)+xab*hfi(2458:2730)
igi(1:91)=kfi(1:91)+zab*ifi(1:91)
igi(92:169)=kfi(105:182)+zab*ifi(92:169)
igi(170:234)=kfi(196:260)+zab*ifi(170:234)
igi(235:286)=kfi(274:325)+zab*ifi(235:286)
igi(287:325)=kfi(339:377)+zab*ifi(287:325)
igi(326:351)=kfi(391:416)+zab*ifi(326:351)
igi(352:364)=kfi(430:442)+zab*ifi(352:364)
igi(365:455)=kfi(14:104)+yab*ifi(1:91)
igi(456:533)=kfi(118:195)+yab*ifi(92:169)
igi(534:598)=kfi(209:273)+yab*ifi(170:234)
igi(599:650)=kfi(287:338)+yab*ifi(235:286)
igi(651:689)=kfi(352:390)+yab*ifi(287:325)
igi(690:715)=kfi(404:429)+yab*ifi(326:351)
igi(716:728)=kfi(443:455)+yab*ifi(352:364)
igi(1093:1183)=kfi(1405:1495)+zab*ifi(1093:1183)
igi(1184:1261)=kfi(1509:1586)+zab*ifi(1184:1261)
igi(1262:1326)=kfi(1600:1664)+zab*ifi(1262:1326)
igi(1327:1378)=kfi(1678:1729)+zab*ifi(1327:1378)
igi(1379:1417)=kfi(1743:1781)+zab*ifi(1379:1417)
igi(1418:1443)=kfi(1795:1820)+zab*ifi(1418:1443)
igi(1444:1456)=kfi(1834:1846)+zab*ifi(1444:1456)
igi(1457:1547)=kfi(1418:1508)+yab*ifi(1093:1183)
igi(1548:1625)=kfi(1522:1599)+yab*ifi(1184:1261)
igi(1626:1690)=kfi(1613:1677)+yab*ifi(1262:1326)
igi(1691:1742)=kfi(1691:1742)+yab*ifi(1327:1378)
igi(1743:1781)=kfi(1756:1794)+yab*ifi(1379:1417)
igi(1782:1807)=kfi(1808:1833)+yab*ifi(1418:1443)
igi(1808:1820)=kfi(1847:1859)+yab*ifi(1444:1456)
igi(1821:2184)=kfi(105:468)+xab*ifi(1:364)
igi(2185:2275)=kfi(1886:1976)+yab*ifi(1457:1547)
igi(2276:2353)=kfi(1990:2067)+yab*ifi(1548:1625)
igi(2354:2418)=kfi(2081:2145)+yab*ifi(1626:1690)
igi(2419:2470)=kfi(2159:2210)+yab*ifi(1691:1742)
igi(2471:2509)=kfi(2224:2262)+yab*ifi(1743:1781)
igi(2510:2535)=kfi(2276:2301)+yab*ifi(1782:1807)
igi(2536:2548)=kfi(2315:2327)+yab*ifi(1808:1820)
igi(4005:4095)=kfi(3758:3848)+yab*ifi(2913:3003)
igi(4096:4173)=kfi(3862:3939)+yab*ifi(3004:3081)
igi(4174:4238)=kfi(3953:4017)+yab*ifi(3082:3146)
igi(4239:4290)=kfi(4031:4082)+yab*ifi(3147:3198)
igi(4291:4329)=kfi(4096:4134)+yab*ifi(3199:3237)
igi(4330:4355)=kfi(4148:4173)+yab*ifi(3238:3263)
igi(4356:4368)=kfi(4187:4199)+yab*ifi(3264:3276)
igi(4369:4459)=kfi(4213:4303)+zab*ifi(3277:3367)
igi(4460:4537)=kfi(4317:4394)+zab*ifi(3368:3445)
igi(4538:4602)=kfi(4408:4472)+zab*ifi(3446:3510)
igi(4603:4654)=kfi(4486:4537)+zab*ifi(3511:3562)
igi(4655:4693)=kfi(4551:4589)+zab*ifi(3563:3601)
igi(4694:4719)=kfi(4603:4628)+zab*ifi(3602:3627)
igi(4720:4732)=kfi(4642:4654)+zab*ifi(3628:3640)
igi(5097:5460)=kfi(4317:4680)+xab*ifi(3277:3640)
psp(1:78)=igi(1:78)+zab*hgi(1:78)
psp(79:143)=igi(92:156)+zab*hgi(79:143)
psp(144:195)=igi(170:221)+zab*hgi(144:195)
psp(196:234)=igi(235:273)+zab*hgi(196:234)
psp(235:260)=igi(287:312)+zab*hgi(235:260)
psp(261:273)=igi(326:338)+zab*hgi(261:273)
psp(274:351)=igi(14:91)+yab*hgi(1:78)
psp(352:416)=igi(105:169)+yab*hgi(79:143)
psp(417:468)=igi(183:234)+yab*hgi(144:195)
psp(469:507)=igi(248:286)+yab*hgi(196:234)
psp(508:533)=igi(300:325)+yab*hgi(235:260)
psp(534:546)=igi(339:351)+yab*hgi(261:273)
psp(547:624)=igi(378:455)+yab*hgi(274:351)
psp(625:689)=igi(469:533)+yab*hgi(352:416)
psp(690:741)=igi(547:598)+yab*hgi(417:468)
psp(742:780)=igi(612:650)+yab*hgi(469:507)
psp(781:806)=igi(664:689)+yab*hgi(508:533)
psp(807:819)=igi(703:715)+yab*hgi(534:546)
psp(820:897)=igi(1093:1170)+zab*hgi(820:897)
psp(898:962)=igi(1184:1248)+zab*hgi(898:962)
psp(963:1014)=igi(1262:1313)+zab*hgi(963:1014)
psp(1015:1053)=igi(1327:1365)+zab*hgi(1015:1053)
psp(1054:1079)=igi(1379:1404)+zab*hgi(1054:1079)
psp(1080:1092)=igi(1418:1430)+zab*hgi(1080:1092)
psp(1093:1170)=igi(1457:1534)+zab*hgi(1093:1170)
psp(1171:1235)=igi(1548:1612)+zab*hgi(1171:1235)
psp(1236:1287)=igi(1626:1677)+zab*hgi(1236:1287)
psp(1288:1326)=igi(1691:1729)+zab*hgi(1288:1326)
psp(1327:1352)=igi(1743:1768)+zab*hgi(1327:1352)
psp(1353:1365)=igi(1782:1794)+zab*hgi(1353:1365)
psp(1366:1443)=igi(1470:1547)+yab*hgi(1093:1170)
psp(1444:1508)=igi(1561:1625)+yab*hgi(1171:1235)
psp(1509:1560)=igi(1639:1690)+yab*hgi(1236:1287)
psp(1561:1599)=igi(1704:1742)+yab*hgi(1288:1326)
psp(1600:1625)=igi(1756:1781)+yab*hgi(1327:1352)
psp(1626:1638)=igi(1795:1807)+yab*hgi(1353:1365)
psp(1639:1911)=igi(92:364)+xab*hgi(1:273)
psp(1912:2184)=igi(456:728)+xab*hgi(274:546)
psp(2185:2262)=igi(2198:2275)+yab*hgi(1639:1716)
psp(2263:2327)=igi(2289:2353)+yab*hgi(1717:1781)
psp(2328:2379)=igi(2367:2418)+yab*hgi(1782:1833)
psp(2380:2418)=igi(2432:2470)+yab*hgi(1834:1872)
psp(2419:2444)=igi(2484:2509)+yab*hgi(1873:1898)
psp(2445:2457)=igi(2523:2535)+yab*hgi(1899:1911)
psp(2458:2730)=igi(1184:1456)+xab*hgi(820:1092)
psp(2731:3003)=igi(1548:1820)+xab*hgi(1093:1365)
psp(3004:3276)=igi(1912:2184)+xab*hgi(1366:1638)
psp(3277:3549)=igi(2276:2548)+xab*hgi(1639:1911)
psp(3550:3627)=igi(4005:4082)+zab*hgi(3004:3081)
psp(3628:3692)=igi(4096:4160)+zab*hgi(3082:3146)
psp(3693:3744)=igi(4174:4225)+zab*hgi(3147:3198)
psp(3745:3783)=igi(4239:4277)+zab*hgi(3199:3237)
psp(3784:3809)=igi(4291:4316)+zab*hgi(3238:3263)
psp(3810:3822)=igi(4330:4342)+zab*hgi(3264:3276)
psp(3823:3900)=igi(4018:4095)+yab*hgi(3004:3081)
psp(3901:3965)=igi(4109:4173)+yab*hgi(3082:3146)
psp(3966:4017)=igi(4187:4238)+yab*hgi(3147:3198)
psp(4018:4056)=igi(4252:4290)+yab*hgi(3199:3237)
psp(4057:4082)=igi(4304:4329)+yab*hgi(3238:3263)
psp(4083:4095)=igi(4343:4355)+yab*hgi(3264:3276)
psp(4096:4173)=igi(4369:4446)+zab*hgi(3277:3354)
psp(4174:4238)=igi(4460:4524)+zab*hgi(3355:3419)
psp(4239:4290)=igi(4538:4589)+zab*hgi(3420:3471)
psp(4291:4329)=igi(4603:4641)+zab*hgi(3472:3510)
psp(4330:4355)=igi(4655:4680)+zab*hgi(3511:3536)
psp(4356:4368)=igi(4694:4706)+zab*hgi(3537:3549)
psp(4369:4446)=igi(4382:4459)+yab*hgi(3277:3354)
psp(4447:4511)=igi(4473:4537)+yab*hgi(3355:3419)
psp(4512:4563)=igi(4551:4602)+yab*hgi(3420:3471)
psp(4564:4602)=igi(4616:4654)+yab*hgi(3472:3510)
psp(4603:4628)=igi(4668:4693)+yab*hgi(3511:3536)
psp(4629:4641)=igi(4707:4719)+yab*hgi(3537:3549)
psp(4642:4914)=igi(4096:4368)+xab*hgi(3004:3276)
psp(4915:4992)=igi(5097:5174)+zab*hgi(3823:3900)
psp(4993:5057)=igi(5188:5252)+zab*hgi(3901:3965)
psp(5058:5109)=igi(5266:5317)+zab*hgi(3966:4017)
psp(5110:5148)=igi(5331:5369)+zab*hgi(4018:4056)
psp(5149:5174)=igi(5383:5408)+zab*hgi(4057:4082)
psp(5175:5187)=igi(5422:5434)+zab*hgi(4083:4095)
psp(5188:5265)=igi(5110:5187)+yab*hgi(3823:3900)
psp(5266:5330)=igi(5201:5265)+yab*hgi(3901:3965)
psp(5331:5382)=igi(5279:5330)+yab*hgi(3966:4017)
psp(5383:5421)=igi(5344:5382)+yab*hgi(4018:4056)
psp(5422:5447)=igi(5396:5421)+yab*hgi(4057:4082)
psp(5448:5460)=igi(5435:5447)+yab*hgi(4083:4095)
psp(5461:5733)=igi(5188:5460)+xab*hgi(3823:4095)
sp(1:273)=psp(1366:1638)*0.70156076002011391601d0+psp(3823:4095)*(
$-7.01560760020113871605d0)+psp(5188:5460)*3.50780380010056935802d0
sp(274:546)=psp(2458:2730)*(-8.87411967464942463835d0)+psp(4369:46
$41)*8.87411967464942463835d0
sp(547:819)=psp(820:1092)*(-4.18330013267037692515d0)+psp(1366:163
$8)*0.52291251658379711564d0+psp(3277:3549)*12.54990039801113255180
$d0+psp(3823:4095)*(-1.04582503316759423129d0)+psp(5188:5460)*(-1.5
$6873754975139156898d0)
sp(820:1092)=psp(1912:2184)*10.24695076595959974952d0+psp(2458:273
$0)*(-5.12347538297979987476d0)+psp(4369:4641)*(-5.1234753829797998
$7476d0)
sp(1093:1365)=psp(274:546)*3.87298334620741613321d0+psp(820:1092)*
$(-5.80947501931112419982d0)+psp(1366:1638)*0.48412291827592701665d
$0+psp(3277:3549)*(-5.80947501931112419982d0)+psp(3823:4095)*0.9682
$4583655185403330d0+psp(5188:5460)*0.48412291827592701665d0
sp(1366:1638)=psp(1:273)+psp(547:819)*(-5.00000000000000000000d0)+
$psp(1093:1365)*1.87500000000000000000d0+psp(3004:3276)*(-5.0000000
$0000000000000d0)+psp(3550:3822)*3.75000000000000000000d0+psp(4915:
$5187)*1.87500000000000000000d0
sp(1639:1911)=psp(1639:1911)*3.87298334620741613321d0+psp(2185:245
$7)*(-5.80947501931112419982d0)+psp(2731:3003)*0.484122918275927016
$65d0+psp(4096:4368)*(-5.80947501931112419982d0)+psp(4642:4914)*0.9
$6824583655185403330d0+psp(5461:5733)*0.48412291827592701665d0
sp(1912:2184)=psp(547:819)*(-5.12347538297979987476d0)+psp(1093:13
$65)*2.56173769148989993738d0+psp(3004:3276)*5.12347538297979987476
$d0+psp(4915:5187)*(-2.56173769148989993738d0)
sp(2185:2457)=psp(2185:2457)*(-12.54990039801113255180d0)+psp(2731
$:3003)*1.56873754975139156898d0+psp(4096:4368)*4.18330013267037692
$515d0+psp(4642:4914)*1.04582503316759423129d0+psp(5461:5733)*(-0.5
$2291251658379711564d0)
sp(2458:2730)=psp(1093:1365)*2.21852991866235615959d0+psp(3550:382
$2)*(-13.31117951197413695752d0)+psp(4915:5187)*2.21852991866235615
$959d0
sp(2731:3003)=psp(2731:3003)*3.50780380010056935802d0+psp(4642:491
$4)*(-7.01560760020113871605d0)+psp(5461:5733)*0.701560760020113916
$01d0
do ji=0,10
ki=ji*273
jk=ji*13
do ii=0,20
k=ii*13
il=ii*143
do ik=1,13
psp(il+jk+ik)=sp(ki+k+ik)
enddo
enddo
enddo
sp(1:143)=psp(716:858)*0.70156076002011391601d0+psp(2003:2145)*(-7
$.01560760020113871605d0)+psp(2718:2860)*3.50780380010056935802d0
sp(144:286)=psp(1288:1430)*(-8.87411967464942463835d0)+psp(2289:24
$31)*8.87411967464942463835d0
sp(287:429)=psp(430:572)*(-4.18330013267037692515d0)+psp(716:858)*
$0.52291251658379711564d0+psp(1717:1859)*12.54990039801113255180d0+
$psp(2003:2145)*(-1.04582503316759423129d0)+psp(2718:2860)*(-1.5687
$3754975139156898d0)
sp(430:572)=psp(1002:1144)*10.24695076595959974952d0+psp(1288:1430
$)*(-5.12347538297979987476d0)+psp(2289:2431)*(-5.12347538297979987
$476d0)
sp(573:715)=psp(144:286)*3.87298334620741613321d0+psp(430:572)*(-5
$.80947501931112419982d0)+psp(716:858)*0.48412291827592701665d0+psp
$(1717:1859)*(-5.80947501931112419982d0)+psp(2003:2145)*0.968245836
$55185403330d0+psp(2718:2860)*0.48412291827592701665d0
sp(716:858)=psp(1:143)+psp(287:429)*(-5.00000000000000000000d0)+ps
$p(573:715)*1.87500000000000000000d0+psp(1574:1716)*(-5.00000000000
$000000000d0)+psp(1860:2002)*3.75000000000000000000d0+psp(2575:2717
$)*1.87500000000000000000d0
sp(859:1001)=psp(859:1001)*3.87298334620741613321d0+psp(1145:1287)
$*(-5.80947501931112419982d0)+psp(1431:1573)*0.48412291827592701665
$d0+psp(2146:2288)*(-5.80947501931112419982d0)+psp(2432:2574)*0.968
$24583655185403330d0+psp(2861:3003)*0.48412291827592701665d0
sp(1002:1144)=psp(287:429)*(-5.12347538297979987476d0)+psp(573:715
$)*2.56173769148989993738d0+psp(1574:1716)*5.12347538297979987476d0
$+psp(2575:2717)*(-2.56173769148989993738d0)
sp(1145:1287)=psp(1145:1287)*(-12.54990039801113255180d0)+psp(1431
$:1573)*1.56873754975139156898d0+psp(2146:2288)*4.18330013267037692
$515d0+psp(2432:2574)*1.04582503316759423129d0+psp(2861:3003)*(-0.5
$2291251658379711564d0)
sp(1288:1430)=psp(573:715)*2.21852991866235615959d0+psp(1860:2002)
$*(-13.31117951197413695752d0)+psp(2575:2717)*2.2185299186623561595
$9d0
sp(1431:1573)=psp(1431:1573)*3.50780380010056935802d0+psp(2432:257
$4)*(-7.01560760020113871605d0)+psp(2861:3003)*0.701560760020113916
$01d0
return
end