// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../tools/evolver_ndf15.c
// Function: ludcmp
int ludcmp(double **a, int n, int *indx, double *d, double *vv){
  int i,imax=0,j,k;
  double big,dum,sum,temp;
  *d=1.0;
  for (i=1;i<=n;i++) {
    big=0.0;
    for (j=1;j<=n;j++) if ((temp=fabs(a[i][j])) > big) big=temp;
    if (big == 0.0) return _FAILURE_;
    vv[i]=1.0/big;
  }
  for (j=1;j<=n;j++) {
    for (i=1;i<j;i++) {
      sum=a[i][j];
      for (k=1;k<i;k++) sum -= a[i][k]*a[k][j];
      a[i][j]=sum;
    }
    big=0.0;
    for (i=j;i<=n;i++) {
      sum=a[i][j];
      for (k=1;k<j;k++) sum -= a[i][k]*a[k][j];
      a[i][j]=sum;
      if ( (dum=vv[i]*fabs(sum)) >= big) {
    big=dum;
    imax=i;
      }
    }
    if (j != imax) {
      for (k=1;k<=n;k++) {
    dum=a[imax][k];
    a[imax][k]=a[j][k];
    a[j][k]=dum;
      }
      *d = -(*d);
      vv[imax]=vv[j];
    }
    indx[j]=imax;
    if (a[j][j] == 0.0) a[j][j]=TINY;
    if (j != n) {
      dum=1.0/(a[j][j]);
      for (i=j+1;i<=n;i++) a[i][j] *= dum;
    }
  }
  return _SUCCESS_;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movl %esi, -0x14(%rsp)
movq %rdx, -0x20(%rsp)
movq %rcx, -0x28(%rsp)
movq %r8, -0x30(%rsp)
movl $0x0, -0x38(%rsp)
movq -0x28(%rsp), %rax
movsd 0x1ba1eb(%rip), %xmm0   # 0x1d2248
movsd %xmm0, (%rax)
movl $0x1, -0x34(%rsp)
movl -0x34(%rsp), %eax
cmpl -0x14(%rsp), %eax
jg 0x18129
xorps %xmm0, %xmm0
movsd %xmm0, -0x48(%rsp)
movl $0x1, -0x3c(%rsp)
movl -0x3c(%rsp), %eax
cmpl -0x14(%rsp), %eax
jg 0x180de
movq -0x10(%rsp), %rax
movslq -0x34(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x1ba17f(%rip), %xmm1   # 0x1d2230
pand %xmm1, %xmm0
movsd %xmm0, -0x60(%rsp)
ucomisd -0x48(%rsp), %xmm0
jbe 0x180cf
movsd -0x60(%rsp), %xmm0
movsd %xmm0, -0x48(%rsp)
jmp 0x180d1
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rsp)
jmp 0x18088
movsd -0x48(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x180fc
jp 0x180fc
movl $0x1, -0x4(%rsp)
jmp 0x18510
movsd 0x1ba144(%rip), %xmm0   # 0x1d2248
divsd -0x48(%rsp), %xmm0
movq -0x30(%rsp), %rax
movslq -0x34(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rsp)
jmp 0x18069
movl $0x1, -0x3c(%rsp)
movl -0x3c(%rsp), %eax
cmpl -0x14(%rsp), %eax
jg 0x18508
movl $0x1, -0x34(%rsp)
movl -0x34(%rsp), %eax
cmpl -0x3c(%rsp), %eax
jge 0x1821b
movq -0x10(%rsp), %rax
movslq -0x34(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x58(%rsp)
movl $0x1, -0x40(%rsp)
movl -0x40(%rsp), %eax
cmpl -0x34(%rsp), %eax
jge 0x181ed
movq -0x10(%rsp), %rax
movslq -0x34(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rsp), %rax
movslq -0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x58(%rsp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rsp)
movl -0x40(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rsp)
jmp 0x1817b
movsd -0x58(%rsp), %xmm0
movq -0x10(%rsp), %rax
movslq -0x34(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rsp)
jmp 0x18147
xorps %xmm0, %xmm0
movsd %xmm0, -0x48(%rsp)
movl -0x3c(%rsp), %eax
movl %eax, -0x34(%rsp)
movl -0x34(%rsp), %eax
cmpl -0x14(%rsp), %eax
jg 0x18348
movq -0x10(%rsp), %rax
movslq -0x34(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x58(%rsp)
movl $0x1, -0x40(%rsp)
movl -0x40(%rsp), %eax
cmpl -0x3c(%rsp), %eax
jge 0x182d2
movq -0x10(%rsp), %rax
movslq -0x34(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rsp), %rax
movslq -0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd -0x58(%rsp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rsp)
movl -0x40(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rsp)
jmp 0x18260
movsd -0x58(%rsp), %xmm0
movq -0x10(%rsp), %rax
movslq -0x34(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x30(%rsp), %rax
movslq -0x34(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd -0x58(%rsp), %xmm1
movaps 0x1b9f24(%rip), %xmm2   # 0x1d2230
pand %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rsp)
ucomisd -0x48(%rsp), %xmm0
jb 0x18336
movsd -0x50(%rsp), %xmm0
movsd %xmm0, -0x48(%rsp)
movl -0x34(%rsp), %eax
movl %eax, -0x38(%rsp)
jmp 0x18338
movl -0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rsp)
jmp 0x1822c
movl -0x3c(%rsp), %eax
cmpl -0x38(%rsp), %eax
je 0x1842b
movl $0x1, -0x40(%rsp)
movl -0x40(%rsp), %eax
cmpl -0x14(%rsp), %eax
jg 0x183e4
movq -0x10(%rsp), %rax
movslq -0x38(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x50(%rsp)
movq -0x10(%rsp), %rax
movslq -0x3c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x10(%rsp), %rax
movslq -0x38(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x50(%rsp), %xmm0
movq -0x10(%rsp), %rax
movslq -0x3c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x40(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rsp)
jmp 0x1835e
movq -0x28(%rsp), %rax
movsd (%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x28(%rsp), %rax
movsd %xmm0, (%rax)
movq -0x30(%rsp), %rax
movslq -0x3c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x30(%rsp), %rax
movslq -0x38(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x38(%rsp), %edx
movq -0x20(%rsp), %rax
movslq -0x3c(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movq -0x10(%rsp), %rax
movslq -0x3c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1847f
jp 0x1847f
movq -0x10(%rsp), %rax
movslq -0x3c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd 0x1ba856(%rip), %xmm0   # 0x1d2cd0
movsd %xmm0, (%rax,%rcx,8)
movl -0x3c(%rsp), %eax
cmpl -0x14(%rsp), %eax
je 0x184f6
movq -0x10(%rsp), %rax
movslq -0x3c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
movsd 0x1b9da4(%rip), %xmm0   # 0x1d2248
divsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x50(%rsp)
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rsp)
movl -0x34(%rsp), %eax
cmpl -0x14(%rsp), %eax
jg 0x184f4
movsd -0x50(%rsp), %xmm0
movq -0x10(%rsp), %rax
movslq -0x34(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x3c(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl -0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rsp)
jmp 0x184ba
jmp 0x184f6
jmp 0x184f8
movl -0x3c(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rsp)
jmp 0x18131
movl $0x0, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq
nopw %cs:(%rax,%rax)