10SN/A! { dg-do run }
27740SN/A! { dg-options "-O2 -ftree-vectorize -ffast-math" }
30SN/A!
40SN/A! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
50SN/A!
60SN/ASUBROUTINE T(nsubcell,sab_max,subcells)
72362SN/A  INTEGER, PARAMETER :: dp=KIND(0.0D0)
80SN/A  REAL(dp) :: sab_max(3), subcells,nsubcell(3)
92362SN/A  nsubcell(:) = MIN(MAX(1,NINT(0.5_dp*subcells/sab_max(:))),20)
100SN/AEND SUBROUTINE T
110SN/A
120SN/AINTEGER, PARAMETER :: dp=KIND(0.0D0)
130SN/AREAL(dp) :: sab_max(3), subcells,nsubcell(3)
140SN/Asubcells=2.0_dp
150SN/Asab_max=0.590060749244805_dp
160SN/ACALL T(nsubcell,sab_max,subcells)
170SN/AIF (ANY(nsubcell.NE.2.0_dp)) CALL ABORT()
180SN/AEND
190SN/A