2 ! { dg-options "-fgraphite -O -ffast-math" }
5 INTEGER, PARAMETER :: dp
=8
7 SUBROUTINE trsapp (n
,npt
,xopt
,xpt
,gq
,hq
,pq
,delta
,step
,d
,g
,hd
,hs
,crvmin
)
8 REAL(dp
), DIMENSION(*), INTENT(INOUT
) :: step
, d
, g
, hd
, hs
9 LOGICAL :: jump1
, jump2
10 REAL(dp
) :: alpha
, angle
, angtest
, bstep
, cf
, cth
, dd
, delsq
, dg
, dhd
, &
11 reduc
, sg
, sgk
, shs
, ss
, sth
, temp
, tempa
, tempb
16 IF ( .NOT
. jump2
) THEN
17 IF ( .NOT
. jump1
) THEN
18 bstep
=temp
/(ds
+SQRT(ds
*ds
+dd
*temp
))
19 IF (alpha
< bstep
) THEN
20 IF (ss
< delsq
) CYCLE mainloop
22 IF (gg
<= 1.0e-4_dp
*ggbeg
) EXIT mainloop