aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f43
1 files changed, 43 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f
new file mode 100644
index 000000000..87e3c61e0
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f
@@ -0,0 +1,43 @@
+ subroutine electra(ro,t,ye,ee,pe,se
+ a ,eer,eet,per,pet,ser,set,keyps)
+ implicit real*8 (a-h,o-z)
+ common /nunu/ nu,dnudr,dnudb,eta,detadnu,nup
+ data facen,facpr,facs,rg /2.037300d+24,1.358200d+24,1.686304d-10
+ 1,8.314339d+07/
+ data a1,a2,a3,a4 /2.059815d-03,-7.027778d-03
+ 1,4.219747d-02,-1.132427d+00/
+ beta=facs*t
+ b32=b12*beta
+ u=(f62/f52)**2
+ dudnu=2.0d0*u*(df62/f62-df52/f52)
+ x=beta*u
+ f=1.0d0+x*(2.5d0+x*(2.0d0+0.5d0*x))
+ df=2.5d0+x*(4.0d0+1.5d0*x)
+ dfdb=u*df
+ fi32=f32+(f-1.0d0)*f52/u
+ dfidnu=dfidu*dudnu+df32+(f-1.0d0)*df52/u
+ dfidb=dfdb*f52/u
+ dfidbet=dfidb+dfidnu*dnudb
+ gs=sqrt(g)
+ dg=0.75d0*gs
+ dgdb=u*dg
+ dgdu=beta*dg
+ gi32=f32+(g-1.0d0)*f52/u
+ dgidu=(u*dgdu-g+1.0d0)*f52/us
+ dgidnu=dgidu*dudnu+df32+(g-1.0d0)*df52/u
+ dgidb=dgdb*f52/u
+ dgidbet=dgidb+dgidnu*dnudb
+ dgidroe=dgidnu*dnudr
+ em=facen*b52*fi32
+ demdbet=facen*b32*(2.5d0*fi32+beta*dfidbet)
+ dpmdbet=facpr*b32*(2.5d0*gi32+beta*dgidbet)
+ demdroe=facen*b52*dfidroe
+ dpmdroe=facpr*b52*dgidroe
+ call divine(nup,fp12,dfp12,s12)
+ s42=2.0d0
+ call divine(nup,fp42,dfp42,s42)
+ eer=(ye*(demdroe+depdroe)-(em+ep)/ro)/ro
+ eet=facs*(demdbet+depdbet)/ro
+ per=ye*(dpmdroe+dppdroe)
+ pet=facs*(dpmdbet+dppdbet)
+ end