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