module test
implicit none
public :: test_main
private
integer,parameter::rk=selected_real_kind(15,307)
real(rk)::wei1
real(rk)::par1,par2,par3,par4
real(rk)::var1,var2,var3,var4,var5,var6,var7,var8,var9,var10,var11,var12,var13,v&
&ar14,var15,var16,var17,var18,var19,var20,var21,var22,var23,var24,var25,var26,var&
&27,var28,var29,var30,var31,var32,var33,var34
contains
subroutine test_main(num,run,var,par)
implicit none
integer,intent(in),dimension(1)::num
real(rk),intent(in),dimension(1)::run
real(rk),intent(inout),dimension(21)::var
real(rk),intent(in),optional,dimension(0)::par
real(rk),dimension(1)::del
del=run/real(num,rk)
if (var(1) .lt. 5.E-1_rk) then
return
endif
call seq1(num(1),del(1),var,par)
end subroutine test_main
subroutine seq1(num,del,var,par)
implicit none
integer,intent(in)::num
real(rk),intent(in)::del
real(rk),intent(inout),dimension(21)::var
real(rk),intent(in),optional,dimension(0)::par
integer::i
wei1=del
par1=var(2)
par2=cos(par1)
par3=sin(par1)
par4=-1.E+0_rk
do i=1,num,1
call seq1map1(wei1,var,par)
!IOwrite(10,*) var
end do
end subroutine seq1
subroutine seq1map1(s,var,par)
implicit none
integer::j
real(rk),intent(in)::s
real(rk),intent(inout),dimension(21)::var
real(rk),intent(in),optional,dimension(0)::par
var1=var(4)**2
var2=var1+var(5)
var3=2.E+0_rk*var(4)*var(6)
var4=var3+var(7)
var5=2.E+0_rk*var(4)*var(8)
var6=var5+var(9)
var7=2.E+0_rk*var(10)
var8=par4+var7
var9=var8*var(4)
var10=var9+var(11)
var11=var2
var12=var11+var(10)
var13=2.E+0_rk*var(4)*var(12)
var14=var13+var(13)
var15=var8*var(6)
var16=2.E+0_rk*var(4)*var(14)
var17=var15+var16+var(15)
var18=var4
var19=var18+var(14)
var20=var(6)*var(12)
var21=var(4)*var(16)
var22=var20+var21
var23=2.E+0_rk*var22
var24=var23+var(17)
var25=var8*var(8)
var26=2.E+0_rk*var(4)*var(18)
var27=var25+var26+var(19)
var28=var6
var29=var28+var(18)
var30=var(8)*var(12)
var31=var(4)*var(20)
var32=var30+var31
var33=2.E+0_rk*var32
var34=var33+var(21)
var(4:21:1)=[par3*var2+par2*var(4),par2*var2-par3*var(4),par3*var4+par2*var(6),p&
&ar2*var4-par3*var(6),par3*var6+par2*var(8),par2*var6-par3*var(8),par3*var10+par2&
&*var12,par2*var10-par3*var12,par3*var14+par2*var(12),par2*var14-par3*var(12),par&
&3*var17+par2*var19,par2*var17-1.E+0_rk*par3*var19,par3*var24+par2*var(16),par2*v&
&ar24-par3*var(16),par3*var27+par2*var29,par2*var27-par3*var29,par3*var34+par2*va&
&r(20),par2*var34-par3*var(20)]
end subroutine seq1map1
end module test