11 * (n, ia,ja,a,
p,ip, nsp,isp, path, flag)
251 INTEGER ia(n+1), ja(*),
p(n), ip(n), isp(nsp), path, flag,
257 DOUBLE PRECISION a(*)
267 IF (path.LT.1 .OR. 5.LT.path) go to 111
273 IF ((path-1) * (path-2) * (path-4) .NE. 0) go to 1
285 IF (max.LT.n) go to 110
291 * (n, ia,ja, max,isp(v),isp(l), isp(head),
p,ip, isp(v), flag)
293 IF (flag.NE.0) go to 100
299 1
IF ((path-2) * (path-3) * (path-4) * (path-5) .NE. 0) go to 2
303 q = tmp - (ia(n+1)-1)
305 IF (q.LT.1) go to 110
309 dflag = path.EQ.4 .OR. path.EQ.5
313 * (n, ip, ia, ja, a, isp(tmp), isp(q), dflag)
349 * (n, ia,ja, max, v,l, head,last,next, mark, flag)
507 INTEGER ia(*), ja(*), v(*), l(*), head(*), last(*), next(*),
509 * mark(*), flag, tag, dmin, vk,ek, tail
519 * (n, ia,ja, max,v,l, head,last,next, mark,tag, flag)
521 IF (flag.NE.0)
RETURN
533 1
IF (k.GE.n) go to 4
539 2
IF (head(dmin).GT.0) go to 3
551 head(dmin) = next(vk)
553 IF (head(dmin).GT.0) last(head(dmin)) = -dmin
575 * (vk,tail, v,l, last,next, mark)
583 * (k,vk,tail, v,l, head,last,next, mark)
591 * (vk,dmin, v,l, head,last,next, mark)
623 * (n, ia,ja, max,v,l, head,last,next, mark,tag, flag)
625 INTEGER ia(*), ja(*), v(*), l(*), head(*), last(*), next(*),
627 * mark(*), tag, flag, sfs, vi,dvi, vj
655 IF (jmin.GT.jmax) go to 3
661 IF (vi.GE.vj) go to 2
663 IF (sfs.GE.max) go to 101
669 mark(vi) = mark(vi) + 1
683 mark(vj) = mark(vj) + 1
711 IF (next(vi).GT.0) last(next(vi)) = vi
739 * (vk,tail, v,l, last,next, mark)
741 INTEGER vk, tail, v(*), l(*), last(*), next(*), mark(*),
743 * tag, s,ls,vs,es, b,lb,vb, blp,blpmax
767 IF (next(vs).LT.0) go to 2
807 IF (mark(vb).GE.tag) go to 3
849 * (k,ek,tail, v,l, head,last,next, mark)
851 INTEGER ek, tail, v(*), l(*), head(*), last(*), next(*),
853 * mark(*), tag, free, li,vi,lvi,evi, s,ls,vs, ilp,ilpmax
869 IF (ilpmax.LE.0) go to 12
883 IF (last(vi).EQ.0) go to 3
885 IF (last(vi).GT.0) go to 1
887 head(-last(vi)) = next(vi)
891 1 next(last(vi)) = next(vi)
893 2
IF (next(vi).GT.0) last(next(vi)) = last(vi)
909 IF (mark(vs).LT.tag) go to 5
925 IF (lvi.NE.0) go to 7
937 last(ek) = last(ek) - 1
947 7
IF (l(lvi).NE.0) go to 9
951 IF (next(evi).GE.0) go to 9
953 IF (mark(evi).LT.0) go to 8
985 mark(evi) = mark(evi) - 1
1029 * (ek,dmin, v,l, head,last,next, mark)
1031 INTEGER ek, dmin, v(*), l(*), head(*), last(*), next(*),
1033 * mark(*), tag, vi,evi,dvi, s,vs,es, b,vb, ilp,ilpmax,
1041 tag = mark(ek) - last(ek)
1051 IF (ilpmax.LE.0) go to 11
1059 IF (last(vi)) 1, 10, 8
1083 IF (next(vs).LT.0) go to 3
1101 3
IF (mark(vs).LT.0) go to 6
1121 IF (mark(vb).GE.tag) go to 4
1141 mark(vs) = mark(vs) - 1
1145 IF (s.EQ.0) go to 10
1149 IF (mark(vs).LT.0) mark(vs) = mark(vs) - 1
1161 dvi = last(ek) + last(evi) + mark(evi)
1169 9 next(vi) = head(dvi)
1175 IF (next(vi).GT.0) last(next(vi)) = vi
1177 IF (dvi.LT.dmin) dmin = dvi
1199 * (n, ip, ia,ja,a, q, r, dflag)
1255 INTEGER ip(*), ia(*), ja(*), q(*), r(*)
1259 DOUBLE PRECISION a(*), ak
1285 IF (jmin.GT.jmax) go to 3
1295 IF (ip(k).LT.ip(i)) ja(j) = i
1297 IF (ip(k).GE.ip(i)) k = i
1319 ia(i+1) = ia(i) + q(i)
1337 DO 6 jdummy=jmin,jmax
1341 IF (.NOT.dflag .OR. ja(j).NE.i .OR. i.EQ.ilast) go to 5
1373 7
IF (r(j).EQ.j) go to 8
1413 * (n,
p,ip, ia,ja,a, b, z, nsp,isp,rsp,esp, path, flag)
1745 INTEGER p(*), ip(*), ia(*), ja(*), isp(*), esp, path, flag,
1747 * ratio, q, mark, d, u, tmp, umax
1753 DOUBLE PRECISION a(*), b(*), z(*), rsp(*)
1761 IF (path.LT.1 .OR. 6.LT.path) go to 111
1783 IF ((path-1) * (path-4) * (path-5) .NE. 0) go to 1
1785 IF (jumax.LE.0) go to 110
1789 * (n,
p, ip, ia, ja, isp(iju), isp(ju), isp(iu), jumax,
1791 * isp(q), isp(mark), isp(jl), flag)
1793 IF (flag.NE.0) go to 100
1799 1 il = ju + isp(iju+(n-1))
1801 tmp = ((il-1)+(ratio-1)) / ratio + 1
1809 esp = umax - (isp(iu+n)-1)
1813 IF ((path-1) * (path-2) * (path-5) * (path-6) .NE. 0) go to 2
1815 IF (umax.LE.0) go to 110
1819 * (n,
p, ip, ia, ja, a,
1821 * rsp(d), isp(iju), isp(ju), isp(iu), rsp(u), umax,
1823 * isp(il), isp(jl), flag)
1825 IF (flag.NE.0) go to 100
1831 2
IF ((path-1) * (path-2) * (path-3) .NE. 0) go to 3
1833 IF (umax.LE.0) go to 110
1837 * (n,
p, rsp(d), isp(iju), isp(ju), isp(iu), rsp(u), z, b,
2031 * (n,
p,ip, ia,ja, iju,ju,iu,jumax, q, mark, jl, flag)
2097 INTEGER p(*), ip(*), ia(*), ja(*), iju(*), ju(*), iu(*),
2099 * q(*), mark(*), jl(*), flag, tag, vj, qm
2135 IF (jl(k).NE.0) clique = jl(jl(k)).EQ.0
2143 jmax = ia(
p(k)+1) - 1
2145 IF (jmin.GT.jmax) go to 4
2151 IF (vj.LE.k) go to 3
2161 IF (qm.LT.vj) go to 2
2163 IF (qm.EQ.vj) go to 102
2171 IF (mark(vj).NE.tag) clique = .false.
2187 4
IF (.NOT.clique) go to 5
2189 iju(k) = iju(jl(k)) + 1
2191 luk = iu(jl(k)+1) - (iu(jl(k))+1)
2211 IF (i.EQ.0) go to 10
2217 lui = iu(i+1) - (iu(i)+1)
2235 IF (qm.LT.vj) go to 7
2237 IF (qm.EQ.vj) go to 8
2253 IF (lui.LE.lmax) go to 9
2269 10
IF (luk.EQ.lmax) go to 17
2281 IF (jumin.GT.juptr) go to 12
2283 DO 11 jmin=jumin,juptr
2285 IF (ju(jmin)-i) 11, 13, 12
2299 IF (ju(j).NE.i) go to 15
2303 IF (i.GT.n) go to 17
2319 IF (juptr.GT.jumax) go to 106
2335 17
IF (luk.LE.1) go to 18
2345 18 iu(k+1) = iu(k) + luk
2357 102 flag = 2*n +
p(k)
2381 * (n,
p,ip, ia,ja,a, d, iju,ju,iu,u,umax, il, jl, flag)
2427 INTEGER p(*), ip(*), ia(*), ja(*), iju(*), ju(*), iu(*),
2429 * umax, il(*), jl(*), flag, vj
2433 DOUBLE PRECISION a(*), d(*), u(*), dk, ukidi
2439 IF (iu(n+1)-1 .GT. umax) go to 107
2467 jmax = ia(
p(k)+1) - 1
2469 IF (jmin.GT.jmax) go to 5
2475 IF (k.LE.vj) d(vj) = a(j)
2489 6
IF (i.EQ.0) go to 9
2499 ukidi = - u(ili) * d(i)
2501 dk = dk + ukidi * u(ili)
2513 IF (jmin.GT.jmax) go to 8
2519 7 d(ju(mu+j)) = d(ju(mu+j)) + ukidi * u(j)
2543 9
IF (dk.EQ.0) go to 108
2555 IF (jmin.GT.jmax) go to 11
2615 * (n,
p, d, iju,ju,iu,u, z, b, tmp)
2617 INTEGER p(*), iju(*), ju(*), iu(*)
2621 DOUBLE PRECISION d(*), u(*), z(*), b(*), tmp(*), tmpk, sum
2655 IF (jmin.GT.jmax) go to 3
2661 2 tmp(ju(mu+j)) = tmp(ju(mu+j)) + u(j) * tmpk
2663 3 tmp(k) = tmpk * d(k)
2679 IF (jmin.GT.jmax) go to 5
2685 4 sum = sum + u(j) * tmp(ju(mu+j))
2701 * (n, r,c,ic, ia,ja,a, b, z, nsp,isp,rsp,esp, path, flag)
2715 INTEGER r(*), c(*), ic(*), ia(*), ja(*), isp(*), esp, path,
2717 * flag, d, u, q, row, tmp, ar, umax
2719 DOUBLE PRECISION a(*), b(*), z(*), rsp(*)
2729 IF (path.LT.1 .OR. 5.LT.path) go to 111
2751 IF ((path-1) * (path-5) .NE. 0) go to 5
2753 max = (lratio*nsp + 1 - jl) - (n+1) - 5*n
2771 jumax = lratio*nsp + 1 - jutmp
2775 IF (jlmax.LE.0 .OR. jumax.LE.0) go to 110
2781 IF (c(i).NE.i) go to 2
2791 * (n, ic, ia,ja,a, isp(il), rsp(ar), isp(iu), flag)
2793 IF (flag.NE.0) go to 100
2801 * jlmax, isp(il), isp(jl), isp(ijl),
2803 * jumax, isp(iu), isp(jutmp), isp(iju),
2805 * isp(q), isp(ira), isp(jra), isp(irac),
2807 * isp(irl), isp(jrl), isp(iru), isp(jru), flag)
2809 IF(flag .NE. 0) go to 100
2813 jlmax = isp(ijl+n-1)
2817 jumax = isp(iju+n-1)
2819 IF (jumax.LE.0) go to 5
2823 4 isp(ju+j-1) = isp(jutmp+j-1)
2829 5 jlmax = isp(ijl+n-1)
2833 jumax = isp(iju+n-1)
2835 l = (ju + jumax - 2 + lratio) / lratio + 1
2837 lmax = isp(il+n) - 1
2849 esp = umax - (isp(iu+n) - 1)
2853 IF ((path-1) * (path-2) .NE. 0) go to 6
2855 IF (umax.LE.0) go to 110
2859 * (n, r, c, ic, ia, ja, a, z, b,
2861 * lmax, isp(il), isp(jl), isp(ijl), rsp(l), rsp(d),
2863 * umax, isp(iu), isp(ju), isp(iju), rsp(u),
2865 * rsp(row), rsp(tmp), isp(irl), isp(jrl), flag)
2867 IF(flag .NE. 0) go to 100
2871 6
IF ((path-3) .NE. 0) go to 7
2875 * (n, r, c, isp(il), isp(jl), isp(ijl), rsp(l),
2877 * rsp(d), isp(iu), isp(ju), isp(iju), rsp(u),
2883 7
IF ((path-4) .NE. 0) go to 8
2887 * (n, r, c, isp(il), isp(jl), isp(ijl), rsp(l),
2889 * rsp(d), isp(iu), isp(ju), isp(iju), rsp(u),
2919 * (n, r,c,ic, ia,ja,a, z, b,
2921 * lmax,il,jl,ijl,l, d, umax,iu,ju,iju,u,
2923 * row, tmp, irl,jrl, flag)
2943 INTEGER r(*), c(*), ic(*), ia(*), ja(*), il(*), jl(*), ijl(*)
2945 INTEGER iu(*), ju(*), iju(*), irl(*), jrl(*), flag
2947 DOUBLE PRECISION a(*), l(*), d(*), u(*), z(*), b(*), row(*)
2949 DOUBLE PRECISION tmp(*), lki, sum, dk
2955 IF(il(n+1)-1 .GT. lmax) go to 104
2957 IF(iu(n+1)-1 .GT. umax) go to 107
2979 IF (jrl(k) .EQ. 0) go to 3
2993 IF (i .NE. 0) go to 2
2999 jmax = jmin + iu(k+1) - iu(k) - 1
3001 IF (jmin .GT. jmax) go to 5
3017 row(ic(ja(j))) = a(j)
3027 IF (i .EQ. 0) go to 10
3037 sum = sum + lki * tmp(i)
3043 IF (jmin .GT. jmax) go to 9
3049 8 row(ju(mu+j)) = row(ju(mu+j)) + lki * u(j)
3053 IF (i .NE. 0) go to 7
3059 10
IF (row(k) .EQ. 0.0d0) go to 108
3067 IF (k .EQ. n) go to 19
3073 IF (jmin .GT. jmax) go to 12
3079 11 u(j) = row(ju(mu+j)) * dk
3089 IF (i .EQ. 0) go to 18
3091 14 irl(i) = irl(i) + 1
3095 IF (irl(i) .GE. il(i+1)) go to 17
3097 ijlb = irl(i) - il(i) + ijl(i)
3101 15
IF (i .GT. jrl(j)) go to 16
3113 IF (i .NE. 0) go to 14
3115 18
IF (irl(k) .GE. il(k+1)) go to 19
3139 IF (jmin .GT. jmax) go to 21
3145 20 sum = sum - u(j) * tmp(ju(mu+j))
3183 * (n, r, c, il, jl, ijl, l, d, iu, ju, iju, u, z, b, tmp)
3199 INTEGER r(*), c(*), il(*), jl(*), ijl(*), iu(*), ju(*), iju(*)
3201 DOUBLE PRECISION l(*), d(*), u(*), b(*), z(*), tmp(*), tmpk,sum
3219 tmpk = -d(k) * tmp(k)
3223 IF (jmin .GT. jmax) go to 3
3229 2 tmp(jl(ml+j)) = tmp(jl(ml+j)) + tmpk * l(j)
3245 IF (jmin .GT. jmax) go to 5
3251 4 sum = sum + u(j) * tmp(ju(mu+j))
3269 * (n, r, c, il, jl, ijl, l, d, iu, ju, iju, u, z, b, tmp)
3287 INTEGER r(*), c(*), il(*), jl(*), ijl(*), iu(*), ju(*), iju(*)
3289 DOUBLE PRECISION l(*), d(*), u(*), b(*), z(*), tmp(*), tmpk,sum
3309 IF (jmin .GT. jmax) go to 3
3315 2 tmp(ju(mu+j)) = tmp(ju(mu+j)) + tmpk * u(j)
3331 IF (jmin .GT. jmax) go to 5
3337 4 sum = sum + l(j) * tmp(jl(ml+j))
3339 5 tmp(k) = -sum * d(k)
3353 SUBROUTINE nroc (N, IC, IA, JA, A, JAR, AR, P, FLAG)
3369 INTEGER ic(*), ia(*), ja(*), jar(*),
p(*), flag
3371 DOUBLE PRECISION a(*), ar(*)
3383 IF(jmin .GT. jmax) go to 5
3395 1
IF(
p(i) .GE. newj) go to 2
3401 2
IF(
p(i) .EQ. newj) go to 102
3445 * (n, r, ic, ia,ja, jlmax,il,jl,ijl, jumax,iu,ju,iju,
3447 * q, ira,jra, irac, irl,jrl, iru,jru, flag)
3463 INTEGER cend, qm, rend, rk, vj
3465 INTEGER ia(*), ja(*), ira(*), jra(*), il(*), jl(*), ijl(*)
3467 INTEGER iu(*), ju(*), iju(*), irl(*), jrl(*), iru(*), jru(*)
3469 INTEGER r(*), ic(*), q(*), irac(*), flag
3507 IF (iak .GE. ia(rk+1)) go to 101
3511 IF (jaiak .GT. k) go to 105
3513 jra(k) = irac(jaiak)
3537 IF (vj .EQ. 0) go to 5
3545 IF (qm .LT. vj) go to 4
3547 IF (qm .EQ. vj) go to 102
3557 IF (vj .NE. 0) go to 3
3571 IF (i .EQ. 0) go to 10
3577 jmax = ijl(i) + il(i+1) - il(i) - 1
3581 IF (long .LT. 0) go to 6
3585 IF (jtmp .NE. k) long = long + 1
3587 IF (jtmp .EQ. k) r(i) = -r(i)
3589 IF (lastid .GE. long) go to 7
3605 IF (qm .LT. vj) go to 8
3607 IF (qm .EQ. vj) go to 9
3627 IF (qm .NE. k) go to 105
3629 IF (luk .EQ. 0) go to 17
3631 IF (lastid .NE. luk) go to 11
3639 IF (jl(irll) .NE. k) ijl(k) = ijl(k) - 1
3645 11
IF (jlmin .GT. jlptr) go to 15
3651 IF (jl(j) - qm) 12, 13, 15
3661 IF (jl(i) .NE. qm) go to 15
3665 IF (qm .GT. n) go to 17
3673 15 jlmin = jlptr + 1
3677 IF (luk .EQ. 0) go to 17
3681 IF (jlptr .GT. jlmax) go to 103
3693 il(k+1) = il(k) + luk
3711 IF (jmin .GT. jmax) go to 20
3723 IF (qm .LT. vj) go to 18
3725 IF (qm .EQ. vj) go to 102
3749 IF (i .EQ. 0) go to 26
3757 jmax = iju(i) + iu(i+1) - iu(i) - 1
3761 IF (long .LT. 0) go to 21
3765 IF (jtmp .EQ. k) go to 22
3771 cend = ijl(i) + il(i+1) - il(i)
3775 IF (irl(i) .GE. cend) go to 22
3783 22
IF (lastid .GE. long) go to 23
3791 23
DO 25 j=jmin,jmax
3799 IF (qm .LT. vj) go to 24
3801 IF (qm .EQ. vj) go to 25
3817 26
IF (il(k+1) .LE. il(k)) go to 27
3831 IF (qm .NE. k) go to 105
3833 IF (luk .EQ. 0) go to 34
3835 IF (lastid .NE. luk) go to 28
3843 IF (ju(irul) .NE. k) iju(k) = iju(k) - 1
3849 28
IF (jumin .GT. juptr) go to 32
3855 IF (ju(j) - qm) 29, 30, 32
3865 IF (ju(i) .NE. qm) go to 32
3869 IF (qm .GT. n) go to 34
3877 32 jumin = juptr + 1
3881 IF (luk .EQ. 0) go to 34
3885 IF (juptr .GT. jumax) go to 106
3897 iu(k+1) = iu(k) + luk
3907 IF (r(i) .LT. 0) go to 36
3909 rend = iju(i) + iu(i+1) - iu(i)
3911 IF (iru(i) .GE. rend) go to 37
3925 IF (i .EQ. 0) go to 38
3937 IF (i .EQ. 0) go to 41
3943 IF (ira(i) .GE. ia(r(i)+1)) go to 40
3947 jairai = ic(ja(irai))
3949 IF (jairai .GT. i) go to 40
3951 jra(i) = irac(jairai)
3957 IF (i .NE. 0) go to 39
4009 * (n, r,c,ic, ia,ja,a, z, b,
4011 * lmax,il,jl,ijl, umax,iu,ju,iju,u,
4013 * row, tmp, irl,jrl, flag)
4033 INTEGER r(*), c(*), ic(*), ia(*), ja(*), il(*), jl(*), ijl(*)
4035 INTEGER iu(*), ju(*), iju(*), irl(*), jrl(*), flag
4037 REAL*8 a(*), u(*), z(*), b(*), row(*)
4039 REAL*8 tmp(*), lki, sum, dk
4045 IF(il(n+1)-1 .GT. lmax) go to 104
4047 IF(iu(n+1)-1 .GT. umax) go to 107
4069 IF (jrl(k) .EQ. 0) go to 3
4083 IF (i .NE. 0) go to 2
4089 jmax = jmin + iu(k+1) - iu(k) - 1
4091 IF (jmin .GT. jmax) go to 5
4107 row(ic(ja(j))) = a(j)
4117 IF (i .EQ. 0) go to 10
4125 sum = sum + lki * tmp(i)
4131 IF (jmin .GT. jmax) go to 9
4137 8 row(ju(mu+j)) = row(ju(mu+j)) + lki * u(j)
4141 IF (i .NE. 0) go to 7
4147 10
IF (row(k) .EQ. 0.0d0) go to 108
4153 IF (k .EQ. n) go to 19
4159 IF (jmin .GT. jmax) go to 12
4165 11 u(j) = row(ju(mu+j)) * dk
4175 IF (i .EQ. 0) go to 18
4177 14 irl(i) = irl(i) + 1
4181 IF (irl(i) .GE. il(i+1)) go to 17
4183 ijlb = irl(i) - il(i) + ijl(i)
4187 15
IF (i .GT. jrl(j)) go to 16
4199 IF (i .NE. 0) go to 14
4201 18
IF (irl(k) .GE. il(k+1)) go to 19
4225 IF (jmin .GT. jmax) go to 21
4231 20 sum = sum - u(j) * tmp(ju(mu+j))
4267 * (n, r,c,ic, ia,ja,a, b, z, nsp,isp,rsp,esp, path, flag)
4281 INTEGER r(*), c(*), ic(*), ia(*), ja(*), isp(*), esp, path,
4283 * flag, u, q, row, tmp, ar, umax
4285 REAL*8 a(*), b(*), z(*), rsp(*)
4315 max = (lratio*nsp + 1 - jl) - (n+1) - 5*n
4333 jumax = lratio*nsp + 1 - jutmp
4337 IF (jlmax.LE.0 .OR. jumax.LE.0) go to 110
4343 IF (c(i).NE.i) go to 2
4353 * (n, ic, ia,ja,a, isp(il), rsp(ar), isp(iu), flag)
4355 IF (flag.NE.0) go to 100
4363 * jlmax, isp(il), isp(jl), isp(ijl),
4365 * jumax, isp(iu), isp(jutmp), isp(iju),
4367 * isp(q), isp(ira), isp(jra), isp(irac),
4369 * isp(irl), isp(jrl), isp(iru), isp(jru), flag)
4371 IF(flag .NE. 0) go to 100
4375 jlmax = isp(ijl+n-1)
4379 jumax = isp(iju+n-1)
4381 IF (jumax.LE.0) go to 5
4385 4 isp(ju+j-1) = isp(jutmp+j-1)
4391 5 jlmax = isp(ijl+n-1)
4395 jumax = isp(iju+n-1)
4397 lmax = isp(il+n) - 1
4399 u = (ju + jumax - 2 + lratio ) / lratio + 1
4401 umax = isp(iu+n) - 1
4407 esp = nsp - (tmp + n)
4409 IF(esp.LT.0) goto 110
4415 * (n, r, c, ic, ia, ja, a, z, b,
4417 * lmax, isp(il), isp(jl), isp(ijl),
4419 * umax, isp(iu), isp(ju), isp(iju), rsp(u),
4421 * rsp(row), rsp(tmp), isp(irl), isp(jrl), flag)
4423 IF(flag .NE. 0) go to 100
4445 * (n, ia,ja,a,
p,ip, nsp,isp, path, flag)
4453 INTEGER ia(*), ja(*),
p(*), ip(*), isp(*), path, flag,
4455 * v, l, head, tmp, q
4457 DOUBLE PRECISION a(*)
4467 IF (path.LT.1 .OR. 5.LT.path) go to 111
4473 IF ((path-1) * (path-2) * (path-4) .NE. 0) go to 1
4485 IF (max.LT.n) go to 110
4491 * (n, ia,ja, max,isp(v),isp(l), isp(head),
p,ip, isp(v), flag)
4493 IF (flag.NE.0) go to 100
4499 1
IF ((path-2) * (path-3) * (path-4) * (path-5) .NE. 0) go to 2
4503 q = tmp - (ia(n+1)-1)
4505 IF (q.LT.1) go to 110
4509 dflag = path.EQ.4 .OR. path.EQ.5
4513 * (n, ip, ia, ja, a, isp(tmp), isp(q), dflag)
4541 * (n, ia,ja, max, v,l, head,last,next, mark, flag)
4549 INTEGER ia(*), ja(*), v(*), l(*), head(*), last(*), next(*),
4551 * mark(*), flag, tag, dmin, vk,ek, tail
4563 * (n, ia,ja, max,v,l, head,last,next, mark,tag, flag)
4565 IF (flag.NE.0)
RETURN
4577 1
IF (k.GE.n) go to 4
4583 2
IF (head(dmin).GT.0) go to 3
4595 head(dmin) = next(vk)
4597 IF (head(dmin).GT.0) last(head(dmin)) = -dmin
4609 tag = tag + last(ek)
4619 * (vk,tail, v,l, last,next, mark)
4627 * (k,ek,tail, v,l, head,last,next, mark)
4635 * (ek,dmin, v,l, head,last,next, mark)
4661 * (n, ia,ja, max,v,l, head,last,next, mark,tag, flag)
4669 INTEGER ia(*), ja(*), v(*), l(*), head(*), last(*), next(*),
4671 * mark(*), tag, flag, sfs, vi,dvi, vj
4697 IF (jmin.GT.jmax) go to 6
4713 IF (kmax .EQ. 0) go to 4
4719 IF (v(lvk).EQ.vj) go to 5
4725 4
IF (sfs.GE.max) go to 101
4731 mark(vi) = mark(vi) + 1
4745 mark(vj) = mark(vj) + 1
4767 next(vi) = head(dvi)
4775 IF (nextvi.GT.0) last(nextvi) = vi
real(r8) function p(a, x, xr, xs, yr, ys, psi, psir, F_dia)
subroutine nroc(N, IC, IA, JA, A, JAR, AR, P, FLAG)