2 ! { dg
-options
"-O3 -ffast-math -fdump-tree-reassoc1 --param max-completely-peeled-insns=200" }
3 subroutine anisonl
(w
,vo
,anisox
,s
,ii1
,jj1
,weight
)
4 integer ii1
,jj1
,i1
,iii1
,j1
,jjj1
,k1
,l1
,m1
,n1
5 real*8 w
(3,3),vo
(3,3),anisox
(3,3,3,3),s
(60,60),weight
7 ! This routine replaces the following lines in e_c3d
.f
for
8 ! an anisotropic material
16 s
(iii1
,jjj1
)=s
(iii1
,jjj1
)
17 & +anisox
(i1
,k1
,j1
,l1
)*w
(k1
,l1
)*weight
19 s
(iii1
,jjj1
)=s
(iii1
,jjj1
)
20 & +anisox
(i1
,k1
,m1
,l1
)*w
(k1
,l1
)
22 & +anisox
(m1
,k1
,j1
,l1
)*w
(k1
,l1
)
25 s
(iii1
,jjj1
)=s
(iii1
,jjj1
)
26 & +anisox
(m1
,k1
,n1
,l1
)
27 & *w
(k1
,l1
)*vo
(i1
,m1
)*vo
(j1
,n1
)*weight
38 ! There should be
22 multiplications left after un
-distributing
39 ! weigth
, w
(k1
,l1
), vo
(i1
,m1
) and vo
(j1
,m1
) on the innermost two
42 ! { dg
-final
{ scan
-tree
-dump
-times
"\[0-9\] \\\* " 22 "reassoc1" } }