.section ".text",#alloc,#execinstr .align 8 .skip 16 ! block 0 .global sgeco_ .type sgeco_,2 sgeco_: save %sp,-192,%sp sethi %hi(.L_tcovStruct),%l1 or %l1,%lo(.L_tcovStruct),%l1 ld [%l1+0],%l0 cmp %l0,0 bne .L_y0 nop ! block 60 mov %l1,%o0 call __bb_init_func nop ! block 1 .L_y0: .L143: st %i0,[%fp-4] st %i1,[%fp-8] st %i2,[%fp-12] st %i3,[%fp-16] st %i4,[%fp-20] ! block 2 .L144: ld [%fp-8],%l0 ld [%l0+0],%l0 st %l0,[%fp-32] sra %l0,31,%l3 subcc %g0,%l0,%l4 subx %g0,%l3,%l3 and %l4,%l3,%l3 sub %g0,%l3,%l0 st %l0,[%fp-36] sll %l0,2,%l1 st %l1,[%fp-40] st %l0,[%fp-28] ld [%fp-4],%l0 add %l1,4,%l1 sub %l0,%l1,%i3 ! File sgeco.f: ! 1 c *** from netlib, Wed Jan 30 12:37:38 EST 1991 *** ! 2 subroutine sgeco(a,lda,n,ipvt,rcond,z) ! 3 integer lda,n,ipvt(1) ! 4 real a(lda,1),z(1) ! 5 real rcond ! 6 c ! 7 c sgeco factors a real matrix by gaussian elimination ! 8 c and estimates the condition of the matrix. ! 9 c ! 10 c if rcond is not needed, sgefa is slightly faster. ! 11 c to solve a*x = b , follow sgeco by sgesl. ! 12 c to compute inverse(a)*c , follow sgeco by sgesl. ! 13 c to compute determinant(a) , follow sgeco by sgedi. ! 14 c to compute inverse(a) , follow sgeco by sgedi. ! 15 c ! 16 c on entry ! 17 c ! 18 c a real(lda, n) ! 19 c the matrix to be factored. ! 20 c ! 21 c lda integer ! 22 c the leading dimension of the array a . ! 23 c ! 24 c n integer ! 25 c the order of the matrix a . ! 26 c ! 27 c on return ! 28 c ! 29 c a an upper triangular matrix and the multipliers ! 30 c which were used to obtain it. ! 31 c the factorization can be written a = l*u where ! 32 c l is a product of permutation and unit lower ! 33 c triangular matrices and u is upper triangular. ! 34 c ! 35 c ipvt integer(n) ! 36 c an integer vector of pivot indices. ! 37 c ! 38 c rcond real ! 39 c an estimate of the reciprocal condition of a . ! 40 c for the system a*x = b , relative perturbations ! 41 c in a and b of size epsilon may cause ! 42 c relative perturbations in x of size epsilon/rcond . ! 43 c if rcond is so small that the logical expression ! 44 c 1.0 + rcond .eq. 1.0 ! 45 c is true, then a may be singular to working ! 46 c precision. in particular, rcond is zero if ! 47 c exact singularity is detected or the estimate ! 48 c underflows. ! 49 c ! 50 c z real(n) ! 51 c a work vector whose contents are usually unimportant. ! 52 c if a is close to a singular matrix, then z is ! 53 c an approximate null vector in the sense that ! 54 c norm(a*z) = rcond*norm(a)*norm(z) . ! 55 c ! 56 c linpack. this version dated 08/14/78 . ! 57 c cleve moler, university of new mexico, argonne national lab. ! 58 c ! 59 c subroutines and functions ! 60 c ! 61 c linpack sgefa ! 62 c blas saxpy,sdot,sscal,sasum ! 63 c fortran abs,amax1,sign ! 64 c ! 65 c internal variables ! 66 c ! 67 real sdot,ek,t,wk,wkm ! 68 real anorm,s,sasum,sm,ynorm ! 69 integer info,j,k,kb,kp1,l ! 70 c ! 71 c ! 72 c compute 1-norm of a ! 73 c ! 74 anorm = 0.0e0 sethi %hi(.L_tcovCounters),%l2 ldd [%l2+%lo(.L_tcovCounters)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters)] sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.anorm),%l0 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.anorm)] ! 75 do 10 j = 1, n ! block 3 .L110: ld [%fp-12],%l0 ld [%l0+0],%l1 st %l1,[%fp-56] mov 1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%l0 cmp %l2,%l1 bg .L146 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.j)] ! block 4 ! block 63 .L147: .L145: ! 76 anorm = amax1(anorm,sasum(n,a(1,j),1)) sethi %hi(.L_tcovCounters+8),%l2 ldd [%l2+%lo(.L_tcovCounters+8)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+8)] ld [%fp-12],%o0 sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l0 ld [%fp-36],%l1 smul %l0,%l1,%l0 sll %l0,2,%l1 add %i3,%l1,%l0 add %l0,4,%o1 sethi %hi(.L_cseg1),%o2 or %o2,%lo(.L_cseg1),%o2 call sasum_ nop st %f0,[%fp-52] sethi %hi(.XBkNwvCw5cr9yka.sgeco.anorm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.anorm)],%f2 ld [%fp-52],%f3 fmovs %f2,%f4 fcmpes %f2,%f3 nop fbge .L_y1 nop ! block 62 fmovs %f3,%f4 ! block 61 .L_y1: sethi %hi(.XBkNwvCw5cr9yka.sgeco.anorm),%l0 st %f4,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.anorm)] ! 77 10 continue ! block 5 .L118: sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%l1 ld [%l1+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l0 add %l0,1,%l2 st %l2,[%l1+%lo(.XBkNwvCw5cr9yka.sgeco.j)] ld [%fp-56],%l0 cmp %l2,%l0 ble .L145 nop ! block 6 .L148: .L146: ! 78 c ! 79 c factor ! 80 c ! 81 call sgefa(a,lda,n,ipvt,info) sethi %hi(.L_tcovCounters+16),%l2 ldd [%l2+%lo(.L_tcovCounters+16)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+16)] ld [%fp-36],%l0 sll %l0,2,%l1 add %i3,%l1,%l0 add %l0,4,%o0 ld [%fp-8],%o1 ld [%fp-12],%o2 ld [%fp-16],%o3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.info),%o4 or %o4,%lo(.XBkNwvCw5cr9yka.sgeco.info),%o4 call sgefa_ nop ! 82 c ! 83 c rcond = 1/(norm(a)*(estimate of norm(inverse(a)))) . ! 84 c estimate = norm(z)/norm(y) where a*z = y and trans(a)*y = e . ! 85 c trans(a) is the transpose of a . the components of e are ! 86 c chosen to cause maximum local growth in the elements of w where ! 87 c trans(u)*w = e . the vectors are frequently rescaled to avoid ! 88 c overflow. ! 89 c ! 90 c solve trans(u)*w = e ! 91 c ! 92 ek = 1.0e0 sethi %hi(.L_cseg2),%l0 ld [%l0+%lo(.L_cseg2)],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.ek),%l0 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ek)] ! 93 do 20 j = 1, n ! block 7 .L111: ld [%fp-12],%l0 ld [%l0+0],%l1 st %l1,[%fp-60] mov 1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%l0 cmp %l2,%l1 bg .L150 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.j)] ! block 8 .L151: .L149: ! 94 z(j) = 0.0e0 sethi %hi(.L_tcovCounters+24),%l2 ldd [%l2+%lo(.L_tcovCounters+24)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+24)] sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%l3 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 st %f2,[%l0-4] ! 95 20 continue ! block 9 .L131: ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l0 add %l0,1,%l1 st %l1,[%l3+%lo(.XBkNwvCw5cr9yka.sgeco.j)] ld [%fp-60],%l0 cmp %l1,%l0 ble .L149 nop ! block 10 .L152: .L150: ! 96 do 100 k = 1, n sethi %hi(.L_tcovCounters+32),%l2 ldd [%l2+%lo(.L_tcovCounters+32)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+32)] .L112: ld [%fp-12],%l0 ld [%l0+0],%l1 st %l1,[%fp-64] mov 1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l0 cmp %l2,%l1 bg .L154 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.k)] ! block 11 .L155: .L153: ! 97 if (z(k) .ne. 0.0e0) ek = sign(ek,-z(k)) sethi %hi(.L_tcovCounters+40),%l2 ldd [%l2+%lo(.L_tcovCounters+40)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+40)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 ld [%l0-4],%f3 sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 fcmps %f3,%f2 nop fbe .L156 nop ! block 12 .L157: fnegs %f3,%f2 st %f2,[%fp-96] sethi %hi(.XBkNwvCw5cr9yka.sgeco.ek),%l0 or %l0,%lo(.XBkNwvCw5cr9yka.sgeco.ek),%l0 add %fp,-96,%o1 call __r_sign mov %l0,%o0 st %f0,[%l0+0] ! block 13 .L156: ! 98 if (abs(ek-z(k)) .le. abs(a(k,k))) go to 30 sethi %hi(.L_tcovCounters+48),%l2 ldd [%l2+%lo(.L_tcovCounters+48)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+48)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.ek),%l4 ld [%l4+%lo(.XBkNwvCw5cr9yka.sgeco.ek)],%f3 mov %i5,%i0 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l5 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l3 sll %l3,2,%l1 add %i0,%l1,%l0 ld [%l0-4],%f2 fsubs %f3,%f2,%f2 fabss %f2,%f3 mov %i3,%l7 ld [%fp-36],%l6 smul %l3,%l6,%l0 add %l0,%l3,%l0 sll %l0,2,%l1 ld [%l7+%l1],%f2 fabss %f2,%f2 fcmpes %f3,%f2 nop fble .L133 nop ! block 14 .L158: ! 99 s = abs(a(k,k))/abs(ek-z(k)) sethi %hi(.L_tcovCounters+56),%l2 ldd [%l2+%lo(.L_tcovCounters+56)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+56)] ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l2 smul %l2,%l6,%l0 add %l0,%l2,%l0 sll %l0,2,%l1 ld [%l7+%l1],%f2 fabss %f2,%f4 ld [%l4+%lo(.XBkNwvCw5cr9yka.sgeco.ek)],%f3 sll %l2,2,%l1 add %i0,%l1,%l0 ld [%l0-4],%f2 fsubs %f3,%f2,%f2 fabss %f2,%f2 fdivs %f4,%f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%l0 or %l0,%lo(.XBkNwvCw5cr9yka.sgeco.s),%l0 st %f2,[%l0+0] ! 100 call sscal(n,s,z,1) ld [%fp-12],%o0 sethi %hi(.L_cseg1),%o3 or %o3,%lo(.L_cseg1),%o3 mov %l0,%o1 call sscal_ mov %i0,%o2 ! 101 ek = s*ek ld [%l0+0],%f3 ld [%l4+%lo(.XBkNwvCw5cr9yka.sgeco.ek)],%f2 fmuls %f3,%f2,%f2 st %f2,[%l4+%lo(.XBkNwvCw5cr9yka.sgeco.ek)] ! 102 30 continue ! block 15 .L133: ! 103 wk = ek - z(k) sethi %hi(.L_tcovCounters+64),%l2 ldd [%l2+%lo(.L_tcovCounters+64)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+64)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.ek),%l2 ld [%l2+%lo(.XBkNwvCw5cr9yka.sgeco.ek)],%f3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l5 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 ld [%l0-4],%f2 fsubs %f3,%f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.wk),%l6 st %f2,[%l6+%lo(.XBkNwvCw5cr9yka.sgeco.wk)] ! 104 wkm = -ek - z(k) ld [%l2+%lo(.XBkNwvCw5cr9yka.sgeco.ek)],%f2 fnegs %f2,%f3 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 ld [%l0-4],%f2 fsubs %f3,%f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.wkm),%l7 st %f2,[%l7+%lo(.XBkNwvCw5cr9yka.sgeco.wkm)] ! 105 s = abs(wk) ld [%l6+%lo(.XBkNwvCw5cr9yka.sgeco.wk)],%f2 fabss %f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%l0 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.s)] ! 106 sm = abs(wkm) ld [%l7+%lo(.XBkNwvCw5cr9yka.sgeco.wkm)],%f2 fabss %f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.sm),%l0 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.sm)] ! 107 if (a(k,k) .eq. 0.0e0) go to 40 mov %i3,%l4 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l1 ld [%fp-36],%l3 smul %l1,%l3,%l0 add %l0,%l1,%l0 sll %l0,2,%l1 ld [%l4+%l1],%f3 sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 fcmps %f3,%f2 nop fbe .L134 nop ! block 16 .L159: ! 108 wk = wk/a(k,k) sethi %hi(.L_tcovCounters+72),%l2 ldd [%l2+%lo(.L_tcovCounters+72)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+72)] ld [%l6+%lo(.XBkNwvCw5cr9yka.sgeco.wk)],%f3 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l1 smul %l1,%l3,%l0 add %l0,%l1,%l0 sll %l0,2,%l1 ld [%l4+%l1],%f2 fdivs %f3,%f2,%f2 st %f2,[%l6+%lo(.XBkNwvCw5cr9yka.sgeco.wk)] ! 109 wkm = wkm/a(k,k) ld [%l7+%lo(.XBkNwvCw5cr9yka.sgeco.wkm)],%f3 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l1 smul %l1,%l3,%l0 add %l0,%l1,%l0 sll %l0,2,%l1 ld [%l4+%l1],%f2 fdivs %f3,%f2,%f2 st %f2,[%l7+%lo(.XBkNwvCw5cr9yka.sgeco.wkm)] ! 110 go to 50 ba .L135 nop ! block 17 ! 111 40 continue .L134: ! 112 wk = 1.0e0 sethi %hi(.L_tcovCounters+80),%l2 ldd [%l2+%lo(.L_tcovCounters+80)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+80)] sethi %hi(.L_cseg2),%l0 ld [%l0+%lo(.L_cseg2)],%f2 st %f2,[%l6+%lo(.XBkNwvCw5cr9yka.sgeco.wk)] ! 113 wkm = 1.0e0 ld [%l0+%lo(.L_cseg2)],%f2 st %f2,[%l7+%lo(.XBkNwvCw5cr9yka.sgeco.wkm)] ! 114 50 continue ! block 18 .L135: ! 115 kp1 = k + 1 sethi %hi(.L_tcovCounters+88),%l2 ldd [%l2+%lo(.L_tcovCounters+88)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+88)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 add %l0,1,%l1 sethi %hi(.XBkNwvCw5cr9yka.sgeco.kp1),%l0 st %l1,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.kp1)] ! 116 if (kp1 .gt. n) go to 90 ld [%fp-12],%l0 ld [%l0+0],%l0 cmp %l1,%l0 bg .L141 nop ! block 19 .L160: ! 117 do 60 j = kp1, n sethi %hi(.L_tcovCounters+96),%l2 ldd [%l2+%lo(.L_tcovCounters+96)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+96)] .L113: sethi %hi(.XBkNwvCw5cr9yka.sgeco.kp1),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.kp1)],%l2 st %l2,[%fp-68] ld [%fp-12],%l0 ld [%l0+0],%l1 st %l1,[%fp-72] sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%l0 cmp %l2,%l1 bg .L162 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.j)] ! block 20 .L163: .L161: ! 118 sm = sm + abs(z(j)+wkm*a(k,j)) sethi %hi(.L_tcovCounters+104),%l2 ldd [%l2+%lo(.L_tcovCounters+104)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+104)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.sm),%l5 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.sm)],%f5 sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%i1 ld [%i1+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l3 sll %l3,2,%l1 add %i5,%l1,%l0 ld [%l0-4],%f4 sethi %hi(.XBkNwvCw5cr9yka.sgeco.wkm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.wkm)],%f3 ld [%fp-36],%l6 smul %l3,%l6,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l3 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l1 add %l2,%l1,%l0 sll %l0,2,%l1 ld [%i3+%l1],%f2 fmuls %f3,%f2,%f2 fadds %f4,%f2,%f2 fabss %f2,%f2 fadds %f5,%f2,%f2 st %f2,[%l5+%lo(.XBkNwvCw5cr9yka.sgeco.sm)] ! 119 z(j) = z(j) + wk*a(k,j) ld [%i1+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l2 sll %l2,2,%l1 add %i5,%l1,%l0 add %l0,-4,%l4 ld [%l4+0],%f4 sethi %hi(.XBkNwvCw5cr9yka.sgeco.wk),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.wk)],%f3 smul %l2,%l6,%l0 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l1 add %l0,%l1,%l0 sll %l0,2,%l1 ld [%i3+%l1],%f2 fmuls %f3,%f2,%f2 fadds %f4,%f2,%f2 st %f2,[%l4+0] ! 120 s = s + abs(z(j)) sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%l2 ld [%l2+%lo(.XBkNwvCw5cr9yka.sgeco.s)],%f3 ld [%i1+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 ld [%l0-4],%f2 fabss %f2,%f2 fadds %f3,%f2,%f2 st %f2,[%l2+%lo(.XBkNwvCw5cr9yka.sgeco.s)] ! 121 60 continue ! block 21 .L136: ld [%i1+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l0 add %l0,1,%l1 st %l1,[%i1+%lo(.XBkNwvCw5cr9yka.sgeco.j)] ld [%fp-72],%l0 cmp %l1,%l0 ble .L161 nop ! block 22 .L164: .L162: ! 122 if (s .ge. sm) go to 80 sethi %hi(.L_tcovCounters+112),%l2 ldd [%l2+%lo(.L_tcovCounters+112)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+112)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.s)],%f3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.sm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.sm)],%f2 fcmpes %f3,%f2 nop fbge .L140 nop ! block 23 .L165: ! 123 t = wkm - wk sethi %hi(.L_tcovCounters+120),%l2 ldd [%l2+%lo(.L_tcovCounters+120)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+120)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.wkm),%l1 ld [%l1+%lo(.XBkNwvCw5cr9yka.sgeco.wkm)],%f3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.wk),%l2 ld [%l2+%lo(.XBkNwvCw5cr9yka.sgeco.wk)],%f2 fsubs %f3,%f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.t),%l0 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.t)] ! 124 wk = wkm ld [%l1+%lo(.XBkNwvCw5cr9yka.sgeco.wkm)],%f2 st %f2,[%l2+%lo(.XBkNwvCw5cr9yka.sgeco.wk)] ! 125 do 70 j = kp1, n ! block 24 .L114: sethi %hi(.XBkNwvCw5cr9yka.sgeco.kp1),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.kp1)],%l2 st %l2,[%fp-76] ld [%fp-12],%l0 ld [%l0+0],%l1 st %l1,[%fp-80] sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%l0 cmp %l2,%l1 bg .L167 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.j)] ! block 25 .L168: .L166: ! 126 z(j) = z(j) + t*a(k,j) sethi %hi(.L_tcovCounters+128),%l2 ldd [%l2+%lo(.L_tcovCounters+128)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+128)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.j),%l6 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l3 sll %l3,2,%l1 add %i5,%l1,%l0 add %l0,-4,%l5 ld [%l5+0],%f4 sethi %hi(.XBkNwvCw5cr9yka.sgeco.t),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.t)],%f3 ld [%fp-36],%l1 smul %l3,%l1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l1 add %l2,%l1,%l0 sll %l0,2,%l1 ld [%i3+%l1],%f2 fmuls %f3,%f2,%f2 fadds %f4,%f2,%f2 st %f2,[%l5+0] ! 127 70 continue ! block 26 .L138: ld [%l6+%lo(.XBkNwvCw5cr9yka.sgeco.j)],%l0 add %l0,1,%l1 st %l1,[%l6+%lo(.XBkNwvCw5cr9yka.sgeco.j)] ld [%fp-80],%l0 cmp %l1,%l0 ble .L166 nop ! block 27 .L169: .L167: ! 128 80 continue sethi %hi(.L_tcovCounters+136),%l2 ldd [%l2+%lo(.L_tcovCounters+136)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+136)] .L140: ! 129 90 continue .L141: ! 130 z(k) = wk sethi %hi(.XBkNwvCw5cr9yka.sgeco.wk),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.wk)],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l3 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 st %f2,[%l0-4] ! 131 100 continue ! block 28 .L119: ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 add %l0,1,%l1 st %l1,[%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)] ld [%fp-64],%l0 cmp %l1,%l0 ble .L153 nop ! block 29 .L170: .L154: ! 132 s = 1.0e0/sasum(n,z,1) sethi %hi(.L_tcovCounters+144),%l2 ldd [%l2+%lo(.L_tcovCounters+144)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+144)] ld [%fp-12],%o0 sethi %hi(.L_cseg1),%l1 or %l1,%lo(.L_cseg1),%l1 mov %i5,%o1 call sasum_ mov %l1,%o2 st %f0,[%fp-52] sethi %hi(.L_cseg2),%l0 ld [%l0+%lo(.L_cseg2)],%f2 fdivs %f2,%f0,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%o1 or %o1,%lo(.XBkNwvCw5cr9yka.sgeco.s),%o1 st %f2,[%o1+0] ! 133 call sscal(n,s,z,1) ld [%fp-12],%o0 mov %i5,%o2 call sscal_ mov %l1,%o3 ! 134 c ! 135 c solve trans(l)*y = w ! 136 c ! 137 do 120 kb = 1, n ! block 30 .L115: ld [%fp-12],%l0 ld [%l0+0],%l1 st %l1,[%fp-84] mov 1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.kb),%l0 cmp %l2,%l1 bg .L172 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.kb)] ! block 31 .L173: .L171: ! 138 k = n + 1 - kb sethi %hi(.L_tcovCounters+152),%l2 ldd [%l2+%lo(.L_tcovCounters+152)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+152)] ld [%fp-12],%l0 ld [%l0+0],%l3 add %l3,1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.kb),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.kb)],%l1 sub %l2,%l1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l5 st %l2,[%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)] ! 139 if (k .lt. n) z(k) = z(k) + sdot(n-k,a(k+1,k),1,z(k+1),1) cmp %l2,%l3 bge .L174 nop ! block 32 .L175: sub %l3,%l2,%l0 st %l0,[%fp-44] add %fp,-44,%o0 ld [%fp-36],%l1 smul %l2,%l1,%l0 add %l2,1,%l2 add %l0,%l2,%l0 sll %l0,2,%l1 add %i3,%l1,%o1 sethi %hi(.L_cseg1),%o4 or %o4,%lo(.L_cseg1),%o4 sll %l2,2,%l1 add %i5,%l1,%l0 add %l0,-4,%o3 call sdot_ mov %o4,%o2 st %f0,[%fp-52] ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 add %l0,-4,%l0 ld [%l0+0],%f2 fadds %f2,%f0,%f2 st %f2,[%l0+0] ! block 33 .L174: ! 140 if (abs(z(k)) .le. 1.0e0) go to 110 sethi %hi(.L_tcovCounters+160),%l2 ldd [%l2+%lo(.L_tcovCounters+160)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+160)] mov %i5,%l5 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l4 ld [%l4+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %l5,%l1,%l0 ld [%l0-4],%f2 fabss %f2,%f3 sethi %hi(.L_cseg2),%l3 ld [%l3+%lo(.L_cseg2)],%f2 fcmpes %f3,%f2 nop fble .L122 nop ! block 34 .L176: ! 141 s = 1.0e0/abs(z(k)) sethi %hi(.L_tcovCounters+168),%l2 ldd [%l2+%lo(.L_tcovCounters+168)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+168)] ld [%l3+%lo(.L_cseg2)],%f3 ld [%l4+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %l5,%l1,%l0 ld [%l0-4],%f2 fabss %f2,%f2 fdivs %f3,%f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%o1 or %o1,%lo(.XBkNwvCw5cr9yka.sgeco.s),%o1 st %f2,[%o1+0] ! 142 call sscal(n,s,z,1) ld [%fp-12],%o0 sethi %hi(.L_cseg1),%o3 or %o3,%lo(.L_cseg1),%o3 call sscal_ mov %l5,%o2 ! 143 110 continue ! block 35 .L122: ! 144 l = ipvt(k) sethi %hi(.L_tcovCounters+176),%l2 ldd [%l2+%lo(.L_tcovCounters+176)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+176)] ld [%fp-16],%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l5 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %l2,%l1,%l0 ld [%l0-4],%l1 sethi %hi(.XBkNwvCw5cr9yka.sgeco.l),%l2 st %l1,[%l2+%lo(.XBkNwvCw5cr9yka.sgeco.l)] ! 145 t = z(l) sll %l1,2,%l1 add %i5,%l1,%l0 ld [%l0-4],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.t),%l3 st %f2,[%l3+%lo(.XBkNwvCw5cr9yka.sgeco.t)] ! 146 z(l) = z(k) ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 ld [%l0-4],%f2 ld [%l2+%lo(.XBkNwvCw5cr9yka.sgeco.l)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 st %f2,[%l0-4] ! 147 z(k) = t ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.t)],%f2 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 st %f2,[%l0-4] ! 148 120 continue ! block 36 .L123: sethi %hi(.XBkNwvCw5cr9yka.sgeco.kb),%l1 ld [%l1+%lo(.XBkNwvCw5cr9yka.sgeco.kb)],%l0 add %l0,1,%l2 st %l2,[%l1+%lo(.XBkNwvCw5cr9yka.sgeco.kb)] ld [%fp-84],%l0 cmp %l2,%l0 ble .L171 nop ! block 37 .L177: .L172: ! 149 s = 1.0e0/sasum(n,z,1) sethi %hi(.L_tcovCounters+184),%l2 ldd [%l2+%lo(.L_tcovCounters+184)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+184)] ld [%fp-12],%o0 sethi %hi(.L_cseg1),%l1 or %l1,%lo(.L_cseg1),%l1 mov %i5,%o1 call sasum_ mov %l1,%o2 st %f0,[%fp-52] sethi %hi(.L_cseg2),%l0 ld [%l0+%lo(.L_cseg2)],%f2 fdivs %f2,%f0,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%o1 or %o1,%lo(.XBkNwvCw5cr9yka.sgeco.s),%o1 st %f2,[%o1+0] ! 150 call sscal(n,s,z,1) ld [%fp-12],%o0 mov %i5,%o2 call sscal_ mov %l1,%o3 ! 151 c ! 152 ynorm = 1.0e0 ld [%l0+%lo(.L_cseg2)],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.ynorm),%l0 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)] ! 153 c ! 154 c solve l*v = y ! 155 c ! 156 do 140 k = 1, n ! block 38 .L116: ld [%fp-12],%l0 ld [%l0+0],%l1 st %l1,[%fp-88] mov 1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l0 cmp %l2,%l1 bg .L179 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.k)] ! block 39 .L180: .L178: ! 157 l = ipvt(k) sethi %hi(.L_tcovCounters+192),%l2 ldd [%l2+%lo(.L_tcovCounters+192)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+192)] ld [%fp-16],%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l3 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %l2,%l1,%l0 ld [%l0-4],%l1 sethi %hi(.XBkNwvCw5cr9yka.sgeco.l),%l2 st %l1,[%l2+%lo(.XBkNwvCw5cr9yka.sgeco.l)] ! 158 t = z(l) mov %i5,%l5 sll %l1,2,%l1 add %l5,%l1,%l0 ld [%l0-4],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.t),%l6 or %l6,%lo(.XBkNwvCw5cr9yka.sgeco.t),%l6 st %f2,[%l6+0] ! 159 z(l) = z(k) ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %l5,%l1,%l0 ld [%l0-4],%f2 ld [%l2+%lo(.XBkNwvCw5cr9yka.sgeco.l)],%l0 sll %l0,2,%l1 add %l5,%l1,%l0 st %f2,[%l0-4] ! 160 z(k) = t ld [%l6+0],%f2 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %l5,%l1,%l0 st %f2,[%l0-4] ! 161 if (k .lt. n) call saxpy(n-k,t,a(k+1,k),1,z(k+1),1) ld [%l3+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l2 ld [%fp-12],%l0 ld [%l0+0],%l0 cmp %l2,%l0 bge .L181 nop ! block 40 .L182: sub %l0,%l2,%l0 st %l0,[%fp-44] add %fp,-44,%o0 ld [%fp-36],%l1 smul %l2,%l1,%l0 add %l2,1,%l2 add %l0,%l2,%l0 sll %l0,2,%l1 add %i3,%l1,%o2 sethi %hi(.L_cseg1),%o5 or %o5,%lo(.L_cseg1),%o5 sll %l2,2,%l1 add %l5,%l1,%l0 add %l0,-4,%o4 mov %l6,%o1 call saxpy_ mov %o5,%o3 ! block 41 .L181: ! 162 if (abs(z(k)) .le. 1.0e0) go to 130 sethi %hi(.L_tcovCounters+200),%l2 ldd [%l2+%lo(.L_tcovCounters+200)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+200)] mov %i5,%l5 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l4 ld [%l4+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %l5,%l1,%l0 ld [%l0-4],%f2 fabss %f2,%f3 sethi %hi(.L_cseg2),%l3 ld [%l3+%lo(.L_cseg2)],%f2 fcmpes %f3,%f2 nop fble .L125 nop ! block 42 .L183: ! 163 s = 1.0e0/abs(z(k)) sethi %hi(.L_tcovCounters+208),%l2 ldd [%l2+%lo(.L_tcovCounters+208)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+208)] ld [%l3+%lo(.L_cseg2)],%f3 ld [%l4+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %l5,%l1,%l0 ld [%l0-4],%f2 fabss %f2,%f2 fdivs %f3,%f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%l0 or %l0,%lo(.XBkNwvCw5cr9yka.sgeco.s),%l0 st %f2,[%l0+0] ! 164 call sscal(n,s,z,1) ld [%fp-12],%o0 sethi %hi(.L_cseg1),%o3 or %o3,%lo(.L_cseg1),%o3 mov %l0,%o1 call sscal_ mov %l5,%o2 ! 165 ynorm = s*ynorm ld [%l0+0],%f3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.ynorm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)],%f2 fmuls %f3,%f2,%f2 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)] ! 166 130 continue ! block 43 .L125: ! 167 140 continue sethi %hi(.L_tcovCounters+216),%l2 ldd [%l2+%lo(.L_tcovCounters+216)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+216)] .L126: sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l1 ld [%l1+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 add %l0,1,%l2 st %l2,[%l1+%lo(.XBkNwvCw5cr9yka.sgeco.k)] ld [%fp-88],%l0 cmp %l2,%l0 ble .L178 nop ! block 44 .L184: .L179: ! 168 s = 1.0e0/sasum(n,z,1) sethi %hi(.L_tcovCounters+224),%l2 ldd [%l2+%lo(.L_tcovCounters+224)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+224)] ld [%fp-12],%o0 sethi %hi(.L_cseg1),%l1 or %l1,%lo(.L_cseg1),%l1 mov %i5,%o1 call sasum_ mov %l1,%o2 st %f0,[%fp-52] sethi %hi(.L_cseg2),%l0 ld [%l0+%lo(.L_cseg2)],%f2 fdivs %f2,%f0,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%l0 or %l0,%lo(.XBkNwvCw5cr9yka.sgeco.s),%l0 st %f2,[%l0+0] ! 169 call sscal(n,s,z,1) ld [%fp-12],%o0 mov %l0,%o1 mov %i5,%o2 call sscal_ mov %l1,%o3 ! 170 ynorm = s*ynorm ld [%l0+0],%f3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.ynorm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)],%f2 fmuls %f3,%f2,%f2 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)] ! 171 c ! 172 c solve u*z = v ! 173 c ! 174 do 160 kb = 1, n ! block 45 .L117: ld [%fp-12],%l0 ld [%l0+0],%l1 st %l1,[%fp-92] mov 1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.kb),%l0 cmp %l2,%l1 bg .L186 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.kb)] ! block 46 .L187: .L185: ! 175 k = n + 1 - kb sethi %hi(.L_tcovCounters+232),%l2 ldd [%l2+%lo(.L_tcovCounters+232)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+232)] ld [%fp-12],%i0 ld [%i0+0],%l0 add %l0,1,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.kb),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.kb)],%l1 sub %l2,%l1,%l3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l5 st %l3,[%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)] ! 176 if (abs(z(k)) .le. abs(a(k,k))) go to 150 mov %i5,%i1 sll %l3,2,%l1 add %i1,%l1,%l0 ld [%l0-4],%f2 fabss %f2,%f3 mov %i3,%l7 ld [%fp-36],%l6 smul %l3,%l6,%l0 add %l0,%l3,%l0 sll %l0,2,%l1 ld [%l7+%l1],%f2 fabss %f2,%f2 fcmpes %f3,%f2 nop fble .L128 nop ! block 47 .L188: ! 177 s = abs(a(k,k))/abs(z(k)) sethi %hi(.L_tcovCounters+240),%l2 ldd [%l2+%lo(.L_tcovCounters+240)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+240)] ld [%l5+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l2 smul %l2,%l6,%l0 add %l0,%l2,%l0 sll %l0,2,%l1 ld [%l7+%l1],%f2 fabss %f2,%f3 sll %l2,2,%l1 add %i1,%l1,%l0 ld [%l0-4],%f2 fabss %f2,%f2 fdivs %f3,%f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%l0 or %l0,%lo(.XBkNwvCw5cr9yka.sgeco.s),%l0 st %f2,[%l0+0] ! 178 call sscal(n,s,z,1) sethi %hi(.L_cseg1),%o3 or %o3,%lo(.L_cseg1),%o3 mov %i0,%o0 mov %l0,%o1 call sscal_ mov %i1,%o2 ! 179 ynorm = s*ynorm ld [%l0+0],%f3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.ynorm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)],%f2 fmuls %f3,%f2,%f2 st %f2,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)] ! 180 150 continue ! block 48 .L128: ! 181 if (a(k,k) .ne. 0.0e0) z(k) = z(k)/a(k,k) sethi %hi(.L_tcovCounters+248),%l2 ldd [%l2+%lo(.L_tcovCounters+248)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+248)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l2 ld [%fp-36],%l1 smul %l2,%l1,%l0 add %l0,%l2,%l0 sll %l0,2,%l1 ld [%i3+%l1],%f3 sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 fcmps %f3,%f2 nop fbe .L189 nop ! block 49 .L190: sll %l2,2,%l1 add %i5,%l1,%l0 add %l0,-4,%l0 ld [%l0+0],%f2 fdivs %f2,%f3,%f2 st %f2,[%l0+0] ! block 50 .L189: ! 182 if (a(k,k) .eq. 0.0e0) z(k) = 1.0e0 sethi %hi(.L_tcovCounters+256),%l2 ldd [%l2+%lo(.L_tcovCounters+256)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+256)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l2 ld [%fp-36],%l1 smul %l2,%l1,%l0 add %l0,%l2,%l0 sll %l0,2,%l1 ld [%i3+%l1],%f3 sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 fcmps %f3,%f2 nop fbne .L191 nop ! block 51 .L192: sethi %hi(.L_cseg2),%l0 ld [%l0+%lo(.L_cseg2)],%f2 sll %l2,2,%l1 add %i5,%l1,%l0 st %f2,[%l0-4] ! block 52 .L191: ! 183 t = -z(k) sethi %hi(.L_tcovCounters+264),%l2 ldd [%l2+%lo(.L_tcovCounters+264)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+264)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.k),%l2 ld [%l2+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l0 sll %l0,2,%l1 add %i5,%l1,%l0 ld [%l0-4],%f2 fnegs %f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.t),%o1 or %o1,%lo(.XBkNwvCw5cr9yka.sgeco.t),%o1 st %f2,[%o1+0] ! 184 call saxpy(k-1,t,a(1,k),1,z(1),1) ld [%l2+%lo(.XBkNwvCw5cr9yka.sgeco.k)],%l2 sub %l2,1,%l0 st %l0,[%fp-44] add %fp,-44,%o0 ld [%fp-36],%l1 smul %l2,%l1,%l0 sll %l0,2,%l1 add %i3,%l1,%l0 add %l0,4,%o2 sethi %hi(.L_cseg1),%o5 or %o5,%lo(.L_cseg1),%o5 mov %o5,%o3 call saxpy_ mov %i5,%o4 ! 185 160 continue ! block 53 .L129: sethi %hi(.XBkNwvCw5cr9yka.sgeco.kb),%l1 ld [%l1+%lo(.XBkNwvCw5cr9yka.sgeco.kb)],%l0 add %l0,1,%l2 st %l2,[%l1+%lo(.XBkNwvCw5cr9yka.sgeco.kb)] ld [%fp-92],%l0 cmp %l2,%l0 ble .L185 nop ! block 54 .L193: .L186: ! 186 c make znorm = 1.0 ! 187 s = 1.0e0/sasum(n,z,1) sethi %hi(.L_tcovCounters+272),%l2 ldd [%l2+%lo(.L_tcovCounters+272)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+272)] ld [%fp-12],%o0 sethi %hi(.L_cseg1),%l1 or %l1,%lo(.L_cseg1),%l1 mov %i5,%o1 call sasum_ mov %l1,%o2 st %f0,[%fp-52] sethi %hi(.L_cseg2),%l0 ld [%l0+%lo(.L_cseg2)],%f2 fdivs %f2,%f0,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgeco.s),%l0 or %l0,%lo(.XBkNwvCw5cr9yka.sgeco.s),%l0 st %f2,[%l0+0] ! 188 call sscal(n,s,z,1) ld [%fp-12],%o0 mov %l0,%o1 mov %i5,%o2 call sscal_ mov %l1,%o3 ! 189 ynorm = s*ynorm ld [%l0+0],%f3 sethi %hi(.XBkNwvCw5cr9yka.sgeco.ynorm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)],%f2 fmuls %f3,%f2,%f4 st %f4,[%l0+%lo(.XBkNwvCw5cr9yka.sgeco.ynorm)] ! 190 c ! 191 if (anorm .ne. 0.0e0) rcond = ynorm/anorm sethi %hi(.XBkNwvCw5cr9yka.sgeco.anorm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.anorm)],%f3 sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 fcmps %f3,%f2 nop fbe .L194 nop ! block 55 .L195: fdivs %f4,%f3,%f2 ld [%fp-20],%l0 st %f2,[%l0+0] ! block 56 .L194: ! 192 if (anorm .eq. 0.0e0) rcond = 0.0e0 sethi %hi(.L_tcovCounters+280),%l2 ldd [%l2+%lo(.L_tcovCounters+280)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+280)] sethi %hi(.XBkNwvCw5cr9yka.sgeco.anorm),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgeco.anorm)],%f2 sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f3 fcmps %f2,%f3 nop fbne .L196 nop ! block 57 .L197: ld [%fp-20],%l0 st %f3,[%l0+0] ! block 58 .L196: ! 193 return sethi %hi(.L_tcovCounters+288),%l2 ldd [%l2+%lo(.L_tcovCounters+288)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+288)] jmp %i7+8 restore ! block 59 .L142: .L198: jmp %i7+8 restore .size sgeco_,(.-sgeco_) .align 8 .align 8 .skip 16 ! block 0 .global sgefa_ .type sgefa_,2 sgefa_: save %sp,-160,%sp sethi %hi(.L_tcovStruct),%l1 or %l1,%lo(.L_tcovStruct),%l1 ld [%l1+0],%l0 cmp %l0,0 bne .L_y2 nop ! block 20 mov %l1,%o0 call __bb_init_func nop ! block 1 .L_y2: .L248: st %i0,[%fp-4] st %i1,[%fp-8] st %i3,[%fp-16] ! block 2 .L249: ld [%fp-8],%l0 ld [%l0+0],%l0 st %l0,[%fp-28] sra %l0,31,%l3 subcc %g0,%l0,%l4 subx %g0,%l3,%l3 and %l4,%l3,%l3 sub %g0,%l3,%i3 sll %i3,2,%l1 st %l1,[%fp-36] st %i3,[%fp-24] ld [%fp-4],%l0 add %l1,4,%l1 sub %l0,%l1,%i5 ! File sgeco.f: ! 194 end ! 195 c============================================ ! 196 subroutine sgefa(a,lda,n,ipvt,info) ! 197 integer lda,n,ipvt(1),info ! 198 real a(lda,1) ! 199 c ! 200 c sgefa factors a real matrix by gaussian elimination. ! 201 c ! 202 c sgefa is usually called by sgeco, but it can be called ! 203 c directly with a saving in time if rcond is not needed. ! 204 c (time for sgeco) = (1 + 9/n)*(time for sgefa) . ! 205 c ! 206 c on entry ! 207 c ! 208 c a real(lda, n) ! 209 c the matrix to be factored. ! 210 c ! 211 c lda integer ! 212 c the leading dimension of the array a . ! 213 c ! 214 c n integer ! 215 c the order of the matrix a . ! 216 c ! 217 c on return ! 218 c ! 219 c a an upper triangular matrix and the multipliers ! 220 c which were used to obtain it. ! 221 c the factorization can be written a = l*u where ! 222 c l is a product of permutation and unit lower ! 223 c triangular matrices and u is upper triangular. ! 224 c ! 225 c ipvt integer(n) ! 226 c an integer vector of pivot indices. ! 227 c ! 228 c info integer ! 229 c = 0 normal value. ! 230 c = k if u(k,k) .eq. 0.0 . this is not an error ! 231 c condition for this subroutine, but it does ! 232 c indicate that sgesl or sgedi will divide by zero ! 233 c if called. use rcond in sgeco for a reliable ! 234 c indication of singularity. ! 235 c ! 236 c linpack. this version dated 08/14/78 . ! 237 c cleve moler, university of new mexico, argonne national lab. ! 238 c ! 239 c subroutines and functions ! 240 c ! 241 c blas saxpy,sscal,isamax ! 242 c ! 243 c internal variables ! 244 c ! 245 real t ! 246 integer isamax,j,k,kp1,l,nm1 ! 247 c ! 248 c ! 249 c gaussian elimination with partial pivoting ! 250 c ! 251 info = 0 sethi %hi(.L_tcovCounters+296),%l2 ldd [%l2+%lo(.L_tcovCounters+296)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+296)] st %g0,[%i4+0] ! 252 nm1 = n - 1 ld [%i2+0],%l0 sub %l0,1,%l1 sethi %hi(.XBkNwvCw5cr9yka.sgefa.nm1),%l0 st %l1,[%l0+%lo(.XBkNwvCw5cr9yka.sgefa.nm1)] ! 253 if (nm1 .lt. 1) go to 70 cmp %l1,1 bl .L246 nop ! block 3 .L250: ! 254 do 60 k = 1, nm1 sethi %hi(.L_tcovCounters+304),%l2 ldd [%l2+%lo(.L_tcovCounters+304)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+304)] .L236: sethi %hi(.XBkNwvCw5cr9yka.sgefa.nm1),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgefa.nm1)],%l0 st %l0,[%fp-52] mov 1,%l1 sethi %hi(.XBkNwvCw5cr9yka.sgefa.k),%l0 st %l1,[%l0+%lo(.XBkNwvCw5cr9yka.sgefa.k)] ld [%fp-52],%l0 cmp %l1,%l0 bg .L252 nop ! block 4 .L253: .L251: ! 255 kp1 = k + 1 sethi %hi(.L_tcovCounters+312),%l2 ldd [%l2+%lo(.L_tcovCounters+312)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+312)] sethi %hi(.XBkNwvCw5cr9yka.sgefa.k),%l6 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l0 add %l0,1,%l1 sethi %hi(.XBkNwvCw5cr9yka.sgefa.kp1),%l0 st %l1,[%l0+%lo(.XBkNwvCw5cr9yka.sgefa.kp1)] ! 256 c ! 257 c find l = pivot index ! 258 c ! 259 l = isamax(n-k+1,a(k,k),1) + k - 1 ld [%i2+0],%l1 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l2 sub %l1,%l2,%l0 add %l0,1,%l0 st %l0,[%fp-40] add %fp,-40,%o0 smul %l2,%i3,%l0 add %l0,%l2,%l0 sll %l0,2,%l1 add %i5,%l1,%o1 sethi %hi(.L_cseg1),%o2 or %o2,%lo(.L_cseg1),%o2 call isamax_ nop st %o0,[%fp-44] ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l0 add %o0,%l0,%l0 sub %l0,1,%l3 sethi %hi(.XBkNwvCw5cr9yka.sgefa.l),%l5 st %l3,[%l5+%lo(.XBkNwvCw5cr9yka.sgefa.l)] ! 260 ipvt(k) = l ld [%fp-16],%l2 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l0 sll %l0,2,%l1 add %l2,%l1,%l0 st %l3,[%l0-4] ! 261 c ! 262 c zero pivot implies this column already triangularized ! 263 c ! 264 if (a(l,k) .eq. 0.0e0) go to 40 mov %i5,%l4 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l0 mov %i3,%l7 smul %l0,%l7,%l2 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgefa.l)],%l1 add %l2,%l1,%l0 sll %l0,2,%l1 ld [%l4+%l1],%f3 sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 fcmps %f3,%f2 nop fbe .L242 nop ! block 5 .L254: ! 265 c ! 266 c interchange if necessary ! 267 c ! 268 if (l .eq. k) go to 10 sethi %hi(.L_tcovCounters+320),%l2 ldd [%l2+%lo(.L_tcovCounters+320)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+320)] ld [%l5+%lo(.XBkNwvCw5cr9yka.sgefa.l)],%l1 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l0 cmp %l1,%l0 be .L238 nop ! block 6 .L255: ! 269 t = a(l,k) sethi %hi(.L_tcovCounters+328),%l2 ldd [%l2+%lo(.L_tcovCounters+328)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+328)] ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l0 smul %l0,%l7,%l2 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgefa.l)],%l1 add %l2,%l1,%l0 sll %l0,2,%l1 ld [%l4+%l1],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgefa.t),%l3 st %f2,[%l3+%lo(.XBkNwvCw5cr9yka.sgefa.t)] ! 270 a(l,k) = a(k,k) ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l1 smul %l1,%l7,%l2 add %l2,%l1,%l0 sll %l0,2,%l1 ld [%l4+%l1],%f2 ld [%l5+%lo(.XBkNwvCw5cr9yka.sgefa.l)],%l1 add %l2,%l1,%l0 sll %l0,2,%l1 st %f2,[%l4+%l1] ! 271 a(k,k) = t ld [%l3+%lo(.XBkNwvCw5cr9yka.sgefa.t)],%f2 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l1 smul %l1,%l7,%l0 add %l0,%l1,%l0 sll %l0,2,%l1 st %f2,[%l4+%l1] ! 272 10 continue ! block 7 .L238: ! 273 c ! 274 c compute multipliers ! 275 c ! 276 t = -1.0e0/a(k,k) sethi %hi(.L_tcovCounters+336),%l2 ldd [%l2+%lo(.L_tcovCounters+336)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+336)] sethi %hi(.L_cseg2),%l0 ld [%l0+%lo(.L_cseg2)],%f3 sethi %hi(.XBkNwvCw5cr9yka.sgefa.k),%l3 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l1 smul %l1,%i3,%l0 add %l0,%l1,%l0 sll %l0,2,%l1 ld [%i5+%l1],%f2 fdivs %f3,%f2,%f2 fnegs %f2,%f2 sethi %hi(.XBkNwvCw5cr9yka.sgefa.t),%o1 or %o1,%lo(.XBkNwvCw5cr9yka.sgefa.t),%o1 st %f2,[%o1+0] ! 277 call sscal(n-k,t,a(k+1,k),1) ld [%i2+0],%l0 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l1 sub %l0,%l1,%l0 st %l0,[%fp-40] add %fp,-40,%o0 smul %l1,%i3,%l0 add %l1,1,%l1 add %l0,%l1,%l0 sll %l0,2,%l1 add %i5,%l1,%o2 sethi %hi(.L_cseg1),%o3 or %o3,%lo(.L_cseg1),%o3 call sscal_ nop ! 278 c ! 279 c row elimination with column indexing ! 280 c ! 281 do 30 j = kp1, n ! block 8 .L237: sethi %hi(.XBkNwvCw5cr9yka.sgefa.kp1),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgefa.kp1)],%l2 st %l2,[%fp-56] ld [%i2+0],%l1 st %l1,[%fp-60] sethi %hi(.XBkNwvCw5cr9yka.sgefa.j),%l0 cmp %l2,%l1 bg .L257 st %l2,[%l0+%lo(.XBkNwvCw5cr9yka.sgefa.j)] ! block 9 .L258: .L256: ! 282 t = a(l,j) sethi %hi(.L_tcovCounters+344),%l2 ldd [%l2+%lo(.L_tcovCounters+344)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+344)] mov %i5,%l4 sethi %hi(.XBkNwvCw5cr9yka.sgefa.j),%l6 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.j)],%l0 mov %i3,%l7 smul %l0,%l7,%l2 sethi %hi(.XBkNwvCw5cr9yka.sgefa.l),%l3 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgefa.l)],%l1 add %l2,%l1,%l0 sll %l0,2,%l1 ld [%l4+%l1],%f2 sethi %hi(.XBkNwvCw5cr9yka.sgefa.t),%l5 st %f2,[%l5+%lo(.XBkNwvCw5cr9yka.sgefa.t)] ! 283 if (l .eq. k) go to 20 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgefa.l)],%l1 sethi %hi(.XBkNwvCw5cr9yka.sgefa.k),%i0 ld [%i0+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l0 cmp %l1,%l0 be .L239 nop ! block 10 .L259: ! 284 a(l,j) = a(k,j) sethi %hi(.L_tcovCounters+352),%l2 ldd [%l2+%lo(.L_tcovCounters+352)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+352)] ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.j)],%l0 smul %l0,%l7,%l2 ld [%i0+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l1 add %l2,%l1,%l0 sll %l0,2,%l1 ld [%l4+%l1],%f2 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgefa.l)],%l1 add %l2,%l1,%l0 sll %l0,2,%l1 st %f2,[%l4+%l1] ! 285 a(k,j) = t ld [%l5+%lo(.XBkNwvCw5cr9yka.sgefa.t)],%f2 ld [%l6+%lo(.XBkNwvCw5cr9yka.sgefa.j)],%l0 smul %l0,%l7,%l0 ld [%i0+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l1 add %l0,%l1,%l0 sll %l0,2,%l1 st %f2,[%l4+%l1] ! 286 20 continue ! block 11 .L239: ! 287 call saxpy(n-k,t,a(k+1,k),1,a(k+1,j),1) sethi %hi(.L_tcovCounters+360),%l2 ldd [%l2+%lo(.L_tcovCounters+360)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+360)] ld [%i2+0],%l1 sethi %hi(.XBkNwvCw5cr9yka.sgefa.k),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l3 sub %l1,%l3,%l0 st %l0,[%fp-44] add %fp,-44,%o0 sethi %hi(.XBkNwvCw5cr9yka.sgefa.t),%o1 or %o1,%lo(.XBkNwvCw5cr9yka.sgefa.t),%o1 smul %l3,%i3,%l0 add %l3,1,%l2 add %l0,%l2,%l0 sll %l0,2,%l1 add %i5,%l1,%o2 sethi %hi(.L_cseg1),%o5 or %o5,%lo(.L_cseg1),%o5 sethi %hi(.XBkNwvCw5cr9yka.sgefa.j),%l3 ld [%l3+%lo(.XBkNwvCw5cr9yka.sgefa.j)],%l0 smul %l0,%i3,%l0 add %l0,%l2,%l0 sll %l0,2,%l1 add %i5,%l1,%o4 call saxpy_ mov %o5,%o3 ! 288 30 continue ! block 12 .L240: ld [%l3+%lo(.XBkNwvCw5cr9yka.sgefa.j)],%l0 add %l0,1,%l1 st %l1,[%l3+%lo(.XBkNwvCw5cr9yka.sgefa.j)] ld [%fp-60],%l0 cmp %l1,%l0 ble .L256 nop ! block 13 .L260: .L257: ! 289 go to 50 sethi %hi(.L_tcovCounters+368),%l2 ldd [%l2+%lo(.L_tcovCounters+368)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+368)] ba .L243 nop ! block 14 ! 290 40 continue .L242: ! 291 info = k sethi %hi(.L_tcovCounters+376),%l2 ldd [%l2+%lo(.L_tcovCounters+376)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+376)] sethi %hi(.XBkNwvCw5cr9yka.sgefa.k),%l0 ld [%l0+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l1 st %l1,[%i4+0] ! 292 50 continue ! block 15 .L243: ! 293 60 continue sethi %hi(.L_tcovCounters+384),%l2 ldd [%l2+%lo(.L_tcovCounters+384)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+384)] .L244: sethi %hi(.XBkNwvCw5cr9yka.sgefa.k),%l1 ld [%l1+%lo(.XBkNwvCw5cr9yka.sgefa.k)],%l0 add %l0,1,%l2 st %l2,[%l1+%lo(.XBkNwvCw5cr9yka.sgefa.k)] ld [%fp-52],%l0 cmp %l2,%l0 ble .L251 nop ! block 16 .L261: .L252: ! 294 70 continue sethi %hi(.L_tcovCounters+392),%l2 ldd [%l2+%lo(.L_tcovCounters+392)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+392)] .L246: ! 295 ipvt(n) = n ld [%i2+0],%l3 ld [%fp-16],%l2 sll %l3,2,%l1 add %l2,%l1,%l0 st %l3,[%l0-4] ! 296 if (a(n,n) .eq. 0.0e0) info = n ld [%i2+0],%l2 smul %l2,%i3,%l0 add %l0,%l2,%l0 sll %l0,2,%l1 ld [%i5+%l1],%f3 sethi %hi(.L_cseg0),%l0 ld [%l0+%lo(.L_cseg0)],%f2 fcmps %f3,%f2 nop fbne .L262 nop ! block 17 .L263: st %l2,[%i4+0] ! block 18 .L262: ! 297 return sethi %hi(.L_tcovCounters+400),%l2 ldd [%l2+%lo(.L_tcovCounters+400)],%l0 addcc %l1,1,%l1 addx %l0,%g0,%l0 std %l0,[%l2+%lo(.L_tcovCounters+400)] jmp %i7+8 restore ! block 19 .L247: .L264: jmp %i7+8 restore .size sgefa_,(.-sgefa_) .align 8 .section ".bss",#alloc,#write .align 4 .global .XBkNwvCw5cr9yka.sgeco.anorm .XBkNwvCw5cr9yka.sgeco.anorm: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.anorm,#object .size .XBkNwvCw5cr9yka.sgeco.anorm,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.j .XBkNwvCw5cr9yka.sgeco.j: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.j,#object .size .XBkNwvCw5cr9yka.sgeco.j,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.info .XBkNwvCw5cr9yka.sgeco.info: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.info,#object .size .XBkNwvCw5cr9yka.sgeco.info,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.ek .XBkNwvCw5cr9yka.sgeco.ek: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.ek,#object .size .XBkNwvCw5cr9yka.sgeco.ek,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.k .XBkNwvCw5cr9yka.sgeco.k: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.k,#object .size .XBkNwvCw5cr9yka.sgeco.k,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.s .XBkNwvCw5cr9yka.sgeco.s: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.s,#object .size .XBkNwvCw5cr9yka.sgeco.s,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.wk .XBkNwvCw5cr9yka.sgeco.wk: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.wk,#object .size .XBkNwvCw5cr9yka.sgeco.wk,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.wkm .XBkNwvCw5cr9yka.sgeco.wkm: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.wkm,#object .size .XBkNwvCw5cr9yka.sgeco.wkm,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.sm .XBkNwvCw5cr9yka.sgeco.sm: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.sm,#object .size .XBkNwvCw5cr9yka.sgeco.sm,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.kp1 .XBkNwvCw5cr9yka.sgeco.kp1: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.kp1,#object .size .XBkNwvCw5cr9yka.sgeco.kp1,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.t .XBkNwvCw5cr9yka.sgeco.t: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.t,#object .size .XBkNwvCw5cr9yka.sgeco.t,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.kb .XBkNwvCw5cr9yka.sgeco.kb: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.kb,#object .size .XBkNwvCw5cr9yka.sgeco.kb,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.l .XBkNwvCw5cr9yka.sgeco.l: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.l,#object .size .XBkNwvCw5cr9yka.sgeco.l,4 .align 4 .global .XBkNwvCw5cr9yka.sgeco.ynorm .XBkNwvCw5cr9yka.sgeco.ynorm: .skip 4 .type .XBkNwvCw5cr9yka.sgeco.ynorm,#object .size .XBkNwvCw5cr9yka.sgeco.ynorm,4 .section ".rodata",#alloc .align 4 .L_cseg0: .skip 4 .type .L_cseg0,#object .size .L_cseg0,4 .align 4 .L_cseg1: .word 0x1 .type .L_cseg1,#object .size .L_cseg1,4 .align 4 .L_cseg2: .word 0x3f800000 .type .L_cseg2,#object .size .L_cseg2,4 .section ".bss",#alloc,#write .align 4 .global .XBkNwvCw5cr9yka.sgefa.nm1 .XBkNwvCw5cr9yka.sgefa.nm1: .skip 4 .type .XBkNwvCw5cr9yka.sgefa.nm1,#object .size .XBkNwvCw5cr9yka.sgefa.nm1,4 .align 4 .global .XBkNwvCw5cr9yka.sgefa.k .XBkNwvCw5cr9yka.sgefa.k: .skip 4 .type .XBkNwvCw5cr9yka.sgefa.k,#object .size .XBkNwvCw5cr9yka.sgefa.k,4 .align 4 .global .XBkNwvCw5cr9yka.sgefa.kp1 .XBkNwvCw5cr9yka.sgefa.kp1: .skip 4 .type .XBkNwvCw5cr9yka.sgefa.kp1,#object .size .XBkNwvCw5cr9yka.sgefa.kp1,4 .align 4 .global .XBkNwvCw5cr9yka.sgefa.l .XBkNwvCw5cr9yka.sgefa.l: .skip 4 .type .XBkNwvCw5cr9yka.sgefa.l,#object .size .XBkNwvCw5cr9yka.sgefa.l,4 .align 4 .global .XBkNwvCw5cr9yka.sgefa.t .XBkNwvCw5cr9yka.sgefa.t: .skip 4 .type .XBkNwvCw5cr9yka.sgefa.t,#object .size .XBkNwvCw5cr9yka.sgefa.t,4 .align 4 .global .XBkNwvCw5cr9yka.sgefa.j .XBkNwvCw5cr9yka.sgefa.j: .skip 4 .type .XBkNwvCw5cr9yka.sgefa.j,#object .size .XBkNwvCw5cr9yka.sgefa.j,4 .section ".data",#alloc,#write Ddata.data: .skip 0 .type Ddata.data,#object .size Ddata.data,0 .section ".bss",#alloc,#write Bbss.bss: .skip 0 .type Bbss.bss,#object .size Bbss.bss,0 .section ".rodata",#alloc Drodata.rodata: .skip 0 .type Drodata.rodata,#object .size Drodata.rodata,0 .section ".data",#alloc,#write .align 4 happiness: .word 0x6f0 .type happiness,#object .size happiness,4 .section ".rodata",#alloc .align 4 CONST_ARG_1: .word 0x1 .type CONST_ARG_1,#object .size CONST_ARG_1,4 .align 4 CONST_ARG_2: .word 0x1 .type CONST_ARG_2,#object .size CONST_ARG_2,4 .align 4 CONST_ARG_3: .word 0x1 .type CONST_ARG_3,#object .size CONST_ARG_3,4 .align 4 CONST_ARG_4: .word 0x1 .type CONST_ARG_4,#object .size CONST_ARG_4,4 .align 4 CONST_ARG_5: .word 0x1 .type CONST_ARG_5,#object .size CONST_ARG_5,4 .align 4 CONST_ARG_6: .word 0x1 .type CONST_ARG_6,#object .size CONST_ARG_6,4 .align 4 CONST_ARG_7: .word 0x1 .type CONST_ARG_7,#object .size CONST_ARG_7,4 .align 4 CONST_ARG_8: .word 0x1 .type CONST_ARG_8,#object .size CONST_ARG_8,4 .align 4 CONST_ARG_9: .word 0x1 .type CONST_ARG_9,#object .size CONST_ARG_9,4 .align 4 CONST_ARG_10: .word 0x1 .type CONST_ARG_10,#object .size CONST_ARG_10,4 .align 4 CONST_ARG_11: .word 0x1 .type CONST_ARG_11,#object .size CONST_ARG_11,4 .align 4 CONST_ARG_12: .word 0x1 .type CONST_ARG_12,#object .size CONST_ARG_12,4 .align 4 CONST_ARG_13: .word 0x1 .type CONST_ARG_13,#object .size CONST_ARG_13,4 .align 4 CONST_ARG_14: .word 0x1 .type CONST_ARG_14,#object .size CONST_ARG_14,4 .align 4 CONST_ARG_15: .word 0x1 .type CONST_ARG_15,#object .size CONST_ARG_15,4 .align 4 CONST_ARG_16: .word 0x1 .type CONST_ARG_16,#object .size CONST_ARG_16,4 .align 4 CONST_ARG_17: .word 0x1 .type CONST_ARG_17,#object .size CONST_ARG_17,4 .align 4 CONST_ARG_18: .word 0x1 .type CONST_ARG_18,#object .size CONST_ARG_18,4 .align 4 CONST_ARG_19: .word 0x1 .type CONST_ARG_19,#object .size CONST_ARG_19,4 .align 4 CONST_ARG_20: .word 0x1 .type CONST_ARG_20,#object .size CONST_ARG_20,4 .align 4 CONST_ARG_21: .word 0x1 .type CONST_ARG_21,#object .size CONST_ARG_21,4 .align 4 CONST_ARG_22: .word 0x1 .type CONST_ARG_22,#object .size CONST_ARG_22,4 .align 4 CONST_ARG_23: .word 0x1 .type CONST_ARG_23,#object .size CONST_ARG_23,4 .section ".data",#alloc,#write .L_tcovFileName: .ascii "/home/ma/575.01/masc0670/diffusion/sgeco.d\000" .type .L_tcovFileName,#object .size .L_tcovFileName,43 .align 8 .L_tcovCounters: .skip 408 .type .L_tcovCounters,#object .size .L_tcovCounters,408 .align 4 .L_tcovStruct: .skip 4 .word .L_tcovFileName .word .L_tcovCounters .word 0x33 .skip 4 .type .L_tcovStruct,#object .size .L_tcovStruct,20 .file "sgeco.f" .xstabs ".stab.index","V=8.0 ; DBG_GEN=3.4.2 ; R=1.0;g;G=.XAkNwvCw5cr9yka.",60,0,0,1034800752 .xstabs ".stab.index","/home/ma/575.01/masc0670/diffusion/;/opt/SUNWspro/bin/../WS6U2/bin/f90 -a -S -qoption f90comp -h.XAkNwvCw5cr9yka. sgeco.f",52,0,0,0