void padeapprox(int m, int row, double *A) {
  int row2 = row * row;
  double *U;
  d_zeros(&U, row, row);
  double *V;
  d_zeros(&V, row, row);
  if (m == 3) {
    double c[] = {120, 60, 12, 1};
    double *A0;
    d_eye(&A0, row);
    double *A2;
    d_zeros(&A2, row, row);
    dgemm_nn_3l(row, row, row, A, row, A, row, A2, row);
    double *temp;
    d_zeros(&temp, row, row);
    dscal_3l(row2, 0, temp);
    daxpy_3l(row2, c[3], A2, temp);
    daxpy_3l(row2, c[1], A0, temp);
    dgemm_nn_3l(row, row, row, A, row, temp, row, U, row);
    dscal_3l(row2, 0, V);
    daxpy_3l(row2, c[2], A2, V);
    daxpy_3l(row2, c[0], A0, V);
    free(A0);
    free(A2);
    free(temp);
  } else if (m == 5) {
    double c[] = {30240, 15120, 3360, 420, 30, 1};
    double *A0;
    d_eye(&A0, row);
    double *A2;
    d_zeros(&A2, row, row);
    double *A4;
    d_zeros(&A4, row, row);
    dgemm_nn_3l(row, row, row, A, row, A, row, A2, row);
    dgemm_nn_3l(row, row, row, A2, row, A2, row, A4, row);
    dmcopy(row, row, A4, row, V, row);
    double *temp;
    d_zeros(&temp, row, row);
    dmcopy(row, row, A4, row, temp, row);
    daxpy_3l(row2, c[3], A2, temp);
    daxpy_3l(row2, c[1], A0, temp);
    dgemm_nn_3l(row, row, row, A, row, temp, row, U, row);
    dscal_3l(row2, c[4], V);
    daxpy_3l(row2, c[2], A2, V);
    daxpy_3l(row2, c[0], A0, V);
    free(A0);
    free(A2);
    free(A4);
    free(temp);
  } else if (m == 7) {
    double c[] = {17297280, 8648640, 1995840, 277200, 25200, 1512, 56, 1};
    double *A0;
    d_eye(&A0, row);
    double *A2;
    d_zeros(&A2, row, row);
    double *A4;
    d_zeros(&A4, row, row);
    double *A6;
    d_zeros(&A6, row, row);
    dgemm_nn_3l(row, row, row, A, row, A, row, A2, row);
    dgemm_nn_3l(row, row, row, A2, row, A2, row, A4, row);
    dgemm_nn_3l(row, row, row, A4, row, A2, row, A6, row);
    double *temp;
    d_zeros(&temp, row, row);
    dscal_3l(row2, 0, temp);
    daxpy_3l(row2, c[3], A2, temp);
    daxpy_3l(row2, c[1], A0, temp);
    daxpy_3l(row2, c[5], A4, temp);
    daxpy_3l(row2, c[7], A6, temp);
    dgemm_nn_3l(row, row, row, A, row, temp, row, U, row);
    dscal_3l(row2, 0, V);
    daxpy_3l(row2, c[2], A2, V);
    daxpy_3l(row2, c[0], A0, V);
    daxpy_3l(row2, c[4], A4, V);
    daxpy_3l(row2, c[6], A6, V);
    free(A0);
    free(A2);
    free(A4);
    free(A6);
    free(temp);
  } else if (m == 9) {
    double c[] = {17643225600, 8821612800, 2075673600, 302702400, 30270240,
                  2162160,     110880,     3960,       90,        1};
    double *A0;
    d_eye(&A0, row);
    double *A2;
    d_zeros(&A2, row, row);
    double *A4;
    d_zeros(&A4, row, row);
    double *A6;
    d_zeros(&A6, row, row);
    double *A8;
    d_zeros(&A8, row, row);
    dgemm_nn_3l(row, row, row, A, row, A, row, A2, row);
    dgemm_nn_3l(row, row, row, A2, row, A2, row, A4, row);
    dgemm_nn_3l(row, row, row, A4, row, A2, row, A6, row);
    dgemm_nn_3l(row, row, row, A6, row, A2, row, A8, row);
    dmcopy(row, row, A8, row, V, row);
    double *temp;
    d_zeros(&temp, row, row);
    dmcopy(row, row, A8, row, temp, row);
    daxpy_3l(row2, c[3], A2, temp);
    daxpy_3l(row2, c[1], A0, temp);
    daxpy_3l(row2, c[5], A4, temp);
    daxpy_3l(row2, c[7], A6, temp);
    dgemm_nn_3l(row, row, row, A, row, temp, row, U, row);
    dscal_3l(row2, c[8], V);
    daxpy_3l(row2, c[2], A2, V);
    daxpy_3l(row2, c[0], A0, V);
    daxpy_3l(row2, c[4], A4, V);
    daxpy_3l(row2, c[6], A6, V);
    free(A0);
    free(A2);
    free(A4);
    free(A6);
    free(A8);
    free(temp);
  } else if (m == 13) {
    double c[] = {64764752532480000,
                  32382376266240000,
                  7771770303897600,
                  1187353796428800,
                  129060195264000,
                  10559470521600,
                  670442572800,
                  33522128640,
                  1323241920,
                  40840800,
                  960960,
                  16380,
                  182,
                  1};
    double *A0;
    d_eye(&A0, row);
    double *A2;
    d_zeros(&A2, row, row);
    double *A4;
    d_zeros(&A4, row, row);
    double *A6;
    d_zeros(&A6, row, row);
    dgemm_nn_3l(row, row, row, A, row, A, row, A2, row);
    dgemm_nn_3l(row, row, row, A2, row, A2, row, A4, row);
    dgemm_nn_3l(row, row, row, A4, row, A2, row, A6, row);
    dmcopy(row, row, A2, row, U, row);
    double *temp;
    d_zeros(&temp, row, row);
    dscal_3l(row2, c[9], U);
    daxpy_3l(row2, c[11], A4, U);
    daxpy_3l(row2, c[13], A6, U);
    dgemm_nn_3l(row, row, row, A6, row, U, row, temp, row);
    daxpy_3l(row2, c[7], A6, temp);
    daxpy_3l(row2, c[5], A4, temp);
    daxpy_3l(row2, c[3], A2, temp);
    daxpy_3l(row2, c[1], A0, temp);
    dgemm_nn_3l(row, row, row, A, row, temp, row, U, row);
    dmcopy(row, row, A2, row, temp, row);
    dscal_3l(row2, c[8], V);
    daxpy_3l(row2, c[12], A6, temp);
    daxpy_3l(row2, c[10], A4, temp);
    dgemm_nn_3l(row, row, row, A6, row, temp, row, V, row);
    daxpy_3l(row2, c[6], A6, V);
    daxpy_3l(row2, c[4], A4, V);
    daxpy_3l(row2, c[2], A2, V);
    daxpy_3l(row2, c[0], A0, V);
    free(A0);
    free(A2);
    free(A4);
    free(A6);
    free(temp);
  } else {
    printf("%s\n", "Wrong Pade approximatin degree");
    exit(1);
  }
  double *D;
  d_zeros(&D, row, row);
  dmcopy(row, row, V, row, A, row);
  daxpy_3l(row2, 1.0, U, A);
  dmcopy(row, row, V, row, D, row);
  daxpy_3l(row2, -1.0, U, D);
  int *ipiv = (int *)malloc(row * sizeof(int));
  int info = 0;
  dgesv_3l(row, row, D, row, ipiv, A, row, &info);
  free(ipiv);
  free(D);
  free(U);
  free(V);
}


x86 assembly (clang, -O0):
<padeapprox>:
push   %rbp
mov    %rsp,%rbp
sub    $0x280,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %rdx,-0x10(%rbp)
mov    -0x8(%rbp),%eax
imul   -0x8(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x20(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x28(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
cmpl   $0x3,-0x4(%rbp)
jne    137b <padeapprox+0x1ab>
mov    0x1e1e(%rip),%rax
mov    %rax,-0x50(%rbp)
mov    0x1e1b(%rip),%rax
mov    %rax,-0x48(%rbp)
mov    0x1e18(%rip),%rax
mov    %rax,-0x40(%rbp)
mov    0x1e15(%rip),%rax
mov    %rax,-0x38(%rbp)
mov    -0x8(%rbp),%esi
lea    -0x58(%rbp),%rdi
mov    $0x0,%al
call   1070 <d_eye@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x60(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x10(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x60(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x68(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x14(%rbp),%edi
mov    -0x68(%rbp),%rdx
xor    %esi,%esi
mov    $0x0,%al
call   10f0 <dscal_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x38(%rbp),%xmm0
mov    -0x60(%rbp),%rsi
mov    -0x68(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x48(%rbp),%xmm0
mov    -0x58(%rbp),%rsi
mov    -0x68(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x68(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x20(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x14(%rbp),%edi
mov    -0x28(%rbp),%rdx
xor    %esi,%esi
mov    $0x0,%al
call   10f0 <dscal_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x40(%rbp),%xmm0
mov    -0x60(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x50(%rbp),%xmm0
mov    -0x58(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x58(%rbp),%rdi
call   1050 <free@plt>
mov    -0x60(%rbp),%rdi
call   1050 <free@plt>
mov    -0x68(%rbp),%rdi
call   1050 <free@plt>
jmp    2032 <padeapprox+0xe62>
cmpl   $0x5,-0x4(%rbp)
jne    15ed <padeapprox+0x41d>
lea    -0xa0(%rbp),%rdi
xor    %esi,%esi
mov    $0x30,%edx
call   1090 <memset@plt>
movsd  0x1c88(%rip),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x1c70(%rip),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x1c58(%rip),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0x1c40(%rip),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x1c28(%rip),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x1c13(%rip),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x8(%rbp),%esi
lea    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1070 <d_eye@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0xb0(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0xb8(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x10(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0xb0(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0xb0(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0xb0(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0xb8(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xb8(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0x28(%rbp),%r8
mov    -0x8(%rbp),%r9d
mov    $0x0,%al
call   1060 <dmcopy@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0xc0(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xb8(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0xc0(%rbp),%r8
mov    -0x8(%rbp),%r9d
mov    $0x0,%al
call   1060 <dmcopy@plt>
mov    -0x14(%rbp),%edi
movsd  -0x88(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rsi
mov    -0xc0(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x98(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rsi
mov    -0xc0(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0xc0(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x20(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x80(%rbp),%xmm0
mov    -0x28(%rbp),%rsi
mov    $0x1,%al
call   10f0 <dscal_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x90(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0xa0(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0xa8(%rbp),%rdi
call   1050 <free@plt>
mov    -0xb0(%rbp),%rdi
call   1050 <free@plt>
mov    -0xb8(%rbp),%rdi
call   1050 <free@plt>
mov    -0xc0(%rbp),%rdi
call   1050 <free@plt>
jmp    202d <padeapprox+0xe5d>
cmpl   $0x7,-0x4(%rbp)
jne    18b0 <padeapprox+0x6e0>
lea    -0x100(%rbp),%rdi
lea    0x1a5b(%rip),%rsi
mov    $0x40,%edx
call   10b0 <memcpy@plt>
mov    -0x8(%rbp),%esi
lea    -0x108(%rbp),%rdi
mov    $0x0,%al
call   1070 <d_eye@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x110(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x118(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x120(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x10(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x110(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x110(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x110(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x118(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x118(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x110(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x120(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x128(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x14(%rbp),%edi
mov    -0x128(%rbp),%rdx
xor    %esi,%esi
mov    $0x0,%al
call   10f0 <dscal_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0xe8(%rbp),%xmm0
ff
mov    -0x110(%rbp),%rsi
mov    -0x128(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0xf8(%rbp),%xmm0
ff
mov    -0x108(%rbp),%rsi
mov    -0x128(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0xd8(%rbp),%xmm0
ff
mov    -0x118(%rbp),%rsi
mov    -0x128(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0xc8(%rbp),%xmm0
ff
mov    -0x120(%rbp),%rsi
mov    -0x128(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x128(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x20(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x14(%rbp),%edi
mov    -0x28(%rbp),%rdx
xor    %esi,%esi
mov    $0x0,%al
call   10f0 <dscal_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0xf0(%rbp),%xmm0
ff
mov    -0x110(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x100(%rbp),%xmm0
ff
mov    -0x108(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0xe0(%rbp),%xmm0
ff
mov    -0x118(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0xd0(%rbp),%xmm0
ff
mov    -0x120(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x108(%rbp),%rdi
call   1050 <free@plt>
mov    -0x110(%rbp),%rdi
call   1050 <free@plt>
mov    -0x118(%rbp),%rdi
call   1050 <free@plt>
mov    -0x120(%rbp),%rdi
call   1050 <free@plt>
mov    -0x128(%rbp),%rdi
call   1050 <free@plt>
jmp    2028 <padeapprox+0xe58>
cmpl   $0x9,-0x4(%rbp)
jne    1c04 <padeapprox+0xa34>
lea    -0x180(%rbp),%rdi
lea    0x17d8(%rip),%rsi
mov    $0x50,%edx
call   10b0 <memcpy@plt>
mov    -0x8(%rbp),%esi
lea    -0x188(%rbp),%rdi
mov    $0x0,%al
call   1070 <d_eye@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x190(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x198(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x1a0(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x1a8(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x10(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x190(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x190(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x190(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x198(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x198(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x190(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x1a0(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x1a0(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x190(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x1a8(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x1a8(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0x28(%rbp),%r8
mov    -0x8(%rbp),%r9d
mov    $0x0,%al
call   1060 <dmcopy@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x1b0(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x1a8(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0x1b0(%rbp),%r8
mov    -0x8(%rbp),%r9d
mov    $0x0,%al
call   1060 <dmcopy@plt>
mov    -0x14(%rbp),%edi
movsd  -0x168(%rbp),%xmm0
ff
mov    -0x190(%rbp),%rsi
mov    -0x1b0(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x178(%rbp),%xmm0
ff
mov    -0x188(%rbp),%rsi
mov    -0x1b0(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x158(%rbp),%xmm0
ff
mov    -0x198(%rbp),%rsi
mov    -0x1b0(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x148(%rbp),%xmm0
ff
mov    -0x1a0(%rbp),%rsi
mov    -0x1b0(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x1b0(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x20(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x140(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rsi
mov    $0x1,%al
call   10f0 <dscal_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x170(%rbp),%xmm0
ff
mov    -0x190(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x180(%rbp),%xmm0
ff
mov    -0x188(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x160(%rbp),%xmm0
ff
mov    -0x198(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x150(%rbp),%xmm0
ff
mov    -0x1a0(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x188(%rbp),%rdi
call   1050 <free@plt>
mov    -0x190(%rbp),%rdi
call   1050 <free@plt>
mov    -0x198(%rbp),%rdi
call   1050 <free@plt>
mov    -0x1a0(%rbp),%rdi
call   1050 <free@plt>
mov    -0x1a8(%rbp),%rdi
call   1050 <free@plt>
mov    -0x1b0(%rbp),%rdi
call   1050 <free@plt>
jmp    2023 <padeapprox+0xe53>
cmpl   $0xd,-0x4(%rbp)
jne    1fff <padeapprox+0xe2f>
lea    -0x220(%rbp),%rdi
lea    0x14d4(%rip),%rsi
mov    $0x70,%edx
call   10b0 <memcpy@plt>
mov    -0x8(%rbp),%esi
lea    -0x228(%rbp),%rdi
mov    $0x0,%al
call   1070 <d_eye@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x230(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x238(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x240(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x10(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x230(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x230(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x230(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x238(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x238(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x230(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x240(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x230(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0x20(%rbp),%r8
mov    -0x8(%rbp),%r9d
mov    $0x0,%al
call   1060 <dmcopy@plt>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x248(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1d8(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rsi
mov    $0x1,%al
call   10f0 <dscal_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1c8(%rbp),%xmm0
ff
mov    -0x238(%rbp),%rsi
mov    -0x20(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1b8(%rbp),%xmm0
ff
mov    -0x240(%rbp),%rsi
mov    -0x20(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x240(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x20(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x248(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1e8(%rbp),%xmm0
ff
mov    -0x240(%rbp),%rsi
mov    -0x248(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1f8(%rbp),%xmm0
ff
mov    -0x238(%rbp),%rsi
mov    -0x248(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x208(%rbp),%xmm0
ff
mov    -0x230(%rbp),%rsi
mov    -0x248(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x218(%rbp),%xmm0
ff
mov    -0x228(%rbp),%rsi
mov    -0x248(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x10(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x248(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x20(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x230(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0x248(%rbp),%r8
mov    -0x8(%rbp),%r9d
mov    $0x0,%al
call   1060 <dmcopy@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1e0(%rbp),%xmm0
ff
mov    -0x28(%rbp),%rsi
mov    $0x1,%al
call   10f0 <dscal_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1c0(%rbp),%xmm0
ff
mov    -0x240(%rbp),%rsi
mov    -0x248(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1d0(%rbp),%xmm0
ff
mov    -0x238(%rbp),%rsi
mov    -0x248(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
mov    -0x240(%rbp),%rcx
mov    -0x8(%rbp),%r8d
mov    -0x248(%rbp),%r9
mov    -0x8(%rbp),%r11d
mov    -0x28(%rbp),%r10
mov    -0x8(%rbp),%eax
mov    %r11d,(%rsp)
mov    %r10,0x8(%rsp)
mov    %eax,0x10(%rsp)
mov    $0x0,%al
call   10d0 <dgemm_nn_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x1f0(%rbp),%xmm0
ff
mov    -0x240(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x200(%rbp),%xmm0
ff
mov    -0x238(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x210(%rbp),%xmm0
ff
mov    -0x230(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x14(%rbp),%edi
movsd  -0x220(%rbp),%xmm0
ff
mov    -0x228(%rbp),%rsi
mov    -0x28(%rbp),%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x228(%rbp),%rdi
call   1050 <free@plt>
mov    -0x230(%rbp),%rdi
call   1050 <free@plt>
mov    -0x238(%rbp),%rdi
call   1050 <free@plt>
mov    -0x240(%rbp),%rdi
call   1050 <free@plt>
mov    -0x248(%rbp),%rdi
call   1050 <free@plt>
jmp    201e <padeapprox+0xe4e>
lea    0x115a(%rip),%rdi
lea    0x1157(%rip),%rsi
mov    $0x0,%al
call   1080 <printf@plt>
mov    $0x1,%edi
call   10e0 <exit@plt>
jmp    2023 <padeapprox+0xe53>
jmp    2028 <padeapprox+0xe58>
jmp    202d <padeapprox+0xe5d>
jmp    2032 <padeapprox+0xe62>
mov    -0x8(%rbp),%esi
mov    -0x8(%rbp),%edx
lea    -0x250(%rbp),%rdi
mov    $0x0,%al
call   1040 <d_zeros@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x28(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0x10(%rbp),%r8
mov    -0x8(%rbp),%r9d
mov    $0x0,%al
call   1060 <dmcopy@plt>
mov    -0x14(%rbp),%edi
mov    -0x20(%rbp),%rsi
mov    -0x10(%rbp),%rdx
movsd  0xf8b(%rip),%xmm0
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x28(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0x250(%rbp),%r8
mov    -0x8(%rbp),%r9d
mov    $0x0,%al
call   1060 <dmcopy@plt>
mov    -0x14(%rbp),%edi
mov    -0x20(%rbp),%rsi
mov    -0x250(%rbp),%rdx
movsd  0xf7f(%rip),%xmm0
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
movslq -0x8(%rbp),%rdi
shl    $0x2,%rdi
call   10c0 <malloc@plt>
mov    %rax,-0x258(%rbp)
movl   $0x0,-0x25c(%rbp)
mov    -0x8(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0x250(%rbp),%rdx
mov    -0x8(%rbp),%ecx
mov    -0x258(%rbp),%r8
mov    -0x10(%rbp),%r9
mov    -0x8(%rbp),%r10d
lea    -0x25c(%rbp),%rax
mov    %r10d,(%rsp)
mov    %rax,0x8(%rsp)
mov    $0x0,%al
call   10a0 <dgesv_3l@plt>
mov    -0x258(%rbp),%rdi
call   1050 <free@plt>
mov    -0x250(%rbp),%rdi
call   1050 <free@plt>
mov    -0x20(%rbp),%rdi
call   1050 <free@plt>
mov    -0x28(%rbp),%rdi
call   1050 <free@plt>
add    $0x280,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<padeapprox>:
push   %rbp
push   %r15
push   %r14
push   %rbx
sub    $0x48,%rsp
mov    %rdx,%r14
mov    %esi,%ebx
mov    %edi,%ebp
lea    0x38(%rsp),%rdi
mov    %esi,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x18(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
add    $0xfffffffd,%ebp
cmp    $0xa,%ebp
ja     1d21 <padeapprox+0xb71>
mov    %ebx,%r15d
imul   %ebx,%r15d
lea    0xf3f(%rip),%rax
movslq (%rax,%rbp,4),%rcx
add    %rax,%rcx
jmp    *%rcx
lea    0x30(%rsp),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1080 <d_eye@plt>
lea    0x8(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
mov    %r14,%r9
xor    %eax,%eax
push   %rbx
push   0x18(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
lea    0x10(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
mov    0x10(%rsp),%rdx
mov    %r15d,%edi
xor    %esi,%esi
xor    %eax,%eax
call   10d0 <dscal_3l@plt>
mov    0x8(%rsp),%rsi
mov    0x10(%rsp),%rdx
movsd  0xd99(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x10(%rsp),%rdx
movsd  0xe85(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x10(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x48(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x18(%rsp),%rdx
mov    %r15d,%edi
xor    %esi,%esi
xor    %eax,%eax
call   10d0 <dscal_3l@plt>
mov    0x8(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0xe3a(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0xe26(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rdi
call   1050 <free@plt>
mov    0x8(%rsp),%rdi
call   1050 <free@plt>
mov    0x10(%rsp),%rdi
jmp    1c38 <padeapprox+0xa88>
lea    0x30(%rsp),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1080 <d_eye@plt>
lea    0x8(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x10(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
mov    %r14,%r9
xor    %eax,%eax
push   %rbx
push   0x18(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x8(%rsp),%rcx
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
mov    %rcx,%r9
xor    %eax,%eax
push   %rbx
push   0x20(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x10(%rsp),%rdx
mov    0x18(%rsp),%r8
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %ebx,%r9d
xor    %eax,%eax
call   1060 <dmcopy@plt>
lea    0x20(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
mov    0x10(%rsp),%rdx
mov    0x20(%rsp),%r8
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %ebx,%r9d
xor    %eax,%eax
call   1060 <dmcopy@plt>
mov    0x8(%rsp),%rsi
mov    0x20(%rsp),%rdx
movsd  0xcf8(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x20(%rsp),%rdx
movsd  0xce4(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x20(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x48(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x18(%rsp),%rsi
movsd  0xcaf(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   10d0 <dscal_3l@plt>
mov    0x8(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0xc9b(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0xc87(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rdi
call   1050 <free@plt>
mov    0x8(%rsp),%rdi
call   1050 <free@plt>
mov    0x10(%rsp),%rdi
call   1050 <free@plt>
mov    0x20(%rsp),%rdi
jmp    1c38 <padeapprox+0xa88>
lea    0x30(%rsp),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1080 <d_eye@plt>
lea    0x8(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x10(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x20(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
mov    %r14,%r9
xor    %eax,%eax
push   %rbx
push   0x18(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x8(%rsp),%rcx
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
mov    %rcx,%r9
xor    %eax,%eax
push   %rbx
push   0x20(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x10(%rsp),%rcx
mov    0x8(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x30(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
lea    0x28(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
mov    0x28(%rsp),%rdx
mov    %r15d,%edi
xor    %esi,%esi
xor    %eax,%eax
call   10d0 <dscal_3l@plt>
mov    0x8(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0xb1a(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0xb06(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x10(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0xaf2(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x20(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0xa1e(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x28(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x48(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x18(%rsp),%rdx
mov    %r15d,%edi
xor    %esi,%esi
xor    %eax,%eax
call   10d0 <dscal_3l@plt>
mov    0x8(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0xa8b(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0xa77(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x10(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0xa63(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x20(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0xa4f(%rip),%xmm0
jmp    1c01 <padeapprox+0xa51>
lea    0x30(%rsp),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1080 <d_eye@plt>
lea    0x8(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x10(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x20(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x28(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
mov    %r14,%r9
xor    %eax,%eax
push   %rbx
push   0x18(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x8(%rsp),%rcx
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
mov    %rcx,%r9
xor    %eax,%eax
push   %rbx
push   0x20(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x10(%rsp),%rcx
mov    0x8(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x30(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x20(%rsp),%rcx
mov    0x8(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x38(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x28(%rsp),%rdx
mov    0x18(%rsp),%r8
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %ebx,%r9d
xor    %eax,%eax
call   1060 <dmcopy@plt>
lea    0x40(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
mov    0x28(%rsp),%rdx
mov    0x40(%rsp),%r8
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %ebx,%r9d
xor    %eax,%eax
call   1060 <dmcopy@plt>
mov    0x8(%rsp),%rsi
mov    0x40(%rsp),%rdx
movsd  0x894(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x40(%rsp),%rdx
movsd  0x880(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x10(%rsp),%rsi
mov    0x40(%rsp),%rdx
movsd  0x86c(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x20(%rsp),%rsi
mov    0x40(%rsp),%rdx
movsd  0x858(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x40(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x48(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x18(%rsp),%rsi
movsd  0x823(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   10d0 <dscal_3l@plt>
mov    0x8(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0x80f(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0x7fb(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x10(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0x7e7(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x20(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0x7d3(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rdi
call   1050 <free@plt>
mov    0x8(%rsp),%rdi
call   1050 <free@plt>
mov    0x10(%rsp),%rdi
call   1050 <free@plt>
mov    0x20(%rsp),%rdi
call   1050 <free@plt>
mov    0x28(%rsp),%rdi
call   1050 <free@plt>
mov    0x40(%rsp),%rdi
jmp    1c38 <padeapprox+0xa88>
lea    0x30(%rsp),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1080 <d_eye@plt>
lea    0x8(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x10(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
lea    0x20(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
mov    %r14,%r9
xor    %eax,%eax
push   %rbx
push   0x18(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x8(%rsp),%rcx
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
mov    %rcx,%r9
xor    %eax,%eax
push   %rbx
push   0x20(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x10(%rsp),%rcx
mov    0x8(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x30(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x8(%rsp),%rdx
mov    0x38(%rsp),%r8
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %ebx,%r9d
xor    %eax,%eax
call   1060 <dmcopy@plt>
lea    0x28(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
mov    0x38(%rsp),%rsi
movsd  0x5f6(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   10d0 <dscal_3l@plt>
mov    0x10(%rsp),%rsi
mov    0x38(%rsp),%rdx
movsd  0x5e2(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x20(%rsp),%rsi
mov    0x38(%rsp),%rdx
movsd  0x5ce(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x20(%rsp),%rcx
mov    0x38(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x38(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x20(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0x592(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x10(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0x57e(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x8(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0x56a(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0x556(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x28(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x48(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x8(%rsp),%rdx
mov    0x28(%rsp),%r8
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %ebx,%r9d
xor    %eax,%eax
call   1060 <dmcopy@plt>
mov    0x18(%rsp),%rsi
movsd  0x507(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   10d0 <dscal_3l@plt>
mov    0x20(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0x4f3(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x10(%rsp),%rsi
mov    0x28(%rsp),%rdx
movsd  0x4df(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x20(%rsp),%rcx
mov    0x28(%rsp),%r9
sub    $0x8,%rsp
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%edx
mov    %ebx,%r8d
xor    %eax,%eax
push   %rbx
push   0x28(%rsp)
push   %rbx
call   10b0 <dgemm_nn_3l@plt>
add    $0x20,%rsp
mov    0x20(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0x4a3(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x10(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0x48f(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x8(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0x47b(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rsi
mov    0x18(%rsp),%rdx
movsd  0x467(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x30(%rsp),%rdi
call   1050 <free@plt>
mov    0x8(%rsp),%rdi
call   1050 <free@plt>
mov    0x10(%rsp),%rdi
call   1050 <free@plt>
mov    0x20(%rsp),%rdi
call   1050 <free@plt>
mov    0x28(%rsp),%rdi
call   1050 <free@plt>
lea    0x30(%rsp),%rdi
mov    %ebx,%esi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <d_zeros@plt>
mov    0x18(%rsp),%rdx
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %r14,%r8
mov    %ebx,%r9d
xor    %eax,%eax
call   1060 <dmcopy@plt>
mov    0x38(%rsp),%rsi
movsd  0x39e(%rip),%xmm0
mov    %r15d,%edi
mov    %r14,%rdx
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
mov    0x18(%rsp),%rdx
mov    0x30(%rsp),%r8
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %ebx,%r9d
xor    %eax,%eax
call   1060 <dmcopy@plt>
mov    0x38(%rsp),%rsi
mov    0x30(%rsp),%rdx
movsd  0x485(%rip),%xmm0
mov    %r15d,%edi
mov    $0x1,%al
call   1030 <daxpy_3l@plt>
movslq %ebx,%rdi
shl    $0x2,%rdi
call   10a0 <malloc@plt>
mov    %rax,%rbp
movl   $0x0,0x8(%rsp)
mov    0x30(%rsp),%rdx
lea    0x8(%rsp),%r10
mov    %ebx,%edi
mov    %ebx,%esi
mov    %ebx,%ecx
mov    %rax,%r8
mov    %r14,%r9
xor    %eax,%eax
push   %r10
push   %rbx
call   1090 <dgesv_3l@plt>
add    $0x10,%rsp
mov    %rbp,%rdi
call   1050 <free@plt>
mov    0x30(%rsp),%rdi
call   1050 <free@plt>
mov    0x38(%rsp),%rdi
call   1050 <free@plt>
mov    0x18(%rsp),%rdi
call   1050 <free@plt>
add    $0x48,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret
lea    0x43c(%rip),%rdi
call   1070 <puts@plt>
mov    $0x1,%edi
call   10c0 <exit@plt>

LLVM IR (-O0):
@__const.padeapprox.c = [4 x double] [double 1.200000e+02, double 6.000000e+01, double 1.200000e+01, double 1.000000e+00]
@__const.padeapprox.c.1 = [8 x double] [double 0x41707EF800000000, double 8.648640e+06, double 1.995840e+06, double 2.772000e+05, double 2.520000e+04, double 1.512000e+03, double 5.600000e+01, double 1.000000e+00]
@__const.padeapprox.c.2 = [10 x double] [double 0x42106E7908000000, double 0x42006E7908000000, double 0x41DEEE1100000000, double 0x41B20ADF40000000, double 0x417CDE3200000000, double 2.162160e+06, double 1.108800e+05, double 3.960000e+03, double 9.000000e+01, double 1.000000e+00]
@__const.padeapprox.c.3 = [14 x double] [double 0x436CC2E660954400, double 0x435CC2E660954400, double 0x433B9C62483D6000, double 0x4310DF9165091000, double 0x42DD584AC5F98000, double 0x42A33522FA9A0000, double 0x4263832FB9800000, double 0x421F384C5C000000, double 0x41D3B7C470000000, double 4.084080e+07, double 9.609600e+05, double 1.638000e+04, double 1.820000e+02, double 1.000000e+00]
@.str = [4 x i8] c"%s\0A\00"
@.str.4 = [31 x i8] c"Wrong Pade approximatin degree\00"
define void @padeapprox(i32 %0, i32 %1, double* %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca double*
%7 = alloca i32
%8 = alloca double*
%9 = alloca double*
%10 = alloca [4 x double]
%11 = alloca double*
%12 = alloca double*
%13 = alloca double*
%14 = alloca [6 x double]
%15 = alloca double*
%16 = alloca double*
%17 = alloca double*
%18 = alloca double*
%19 = alloca [8 x double]
%20 = alloca double*
%21 = alloca double*
%22 = alloca double*
%23 = alloca double*
%24 = alloca double*
%25 = alloca [10 x double]
%26 = alloca double*
%27 = alloca double*
%28 = alloca double*
%29 = alloca double*
%30 = alloca double*
%31 = alloca double*
%32 = alloca [14 x double]
%33 = alloca double*
%34 = alloca double*
%35 = alloca double*
%36 = alloca double*
%37 = alloca double*
%38 = alloca double*
%39 = alloca i32*
%40 = alloca i32
store i32 %0, i32* %4
store i32 %1, i32* %5
store double* %2, double** %6
%41 = load i32, i32* %5
%42 = load i32, i32* %5
%43 = mul nsw i32 %41, %42
store i32 %43, i32* %7
%44 = load i32, i32* %5
%45 = load i32, i32* %5
%46 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %8, i32 %44, i32 %45)
%47 = load i32, i32* %5
%48 = load i32, i32* %5
%49 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %9, i32 %47, i32 %48)
%50 = load i32, i32* %4
%51 = icmp eq i32 %50, 3
br i1 %51, label %52, label %118
52: ; preds = %3
%53 = bitcast [4 x double]* %10 to i8*
%54 = load i32, i32* %5
%55 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %11, i32 %54)
%56 = load i32, i32* %5
%57 = load i32, i32* %5
%58 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %12, i32 %56, i32 %57)
%59 = load i32, i32* %5
%60 = load i32, i32* %5
%61 = load i32, i32* %5
%62 = load double*, double** %6
%63 = load i32, i32* %5
%64 = load double*, double** %6
%65 = load i32, i32* %5
%66 = load double*, double** %12
%67 = load i32, i32* %5
%68 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %59, i32 %60, i32 %61, double* %62, i32 %63, double* %64, i32 %65, double* %66, i32 %67)
%69 = load i32, i32* %5
%70 = load i32, i32* %5
%71 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %13, i32 %69, i32 %70)
%72 = load i32, i32* %7
%73 = load double*, double** %13
%74 = call i32 (i32, i32, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, i32, double*, ...)*)(i32 %72, i32 0, double* %73)
%75 = load i32, i32* %7
%76 = getelementptr inbounds [4 x double], [4 x double]* %10, i64 0, i64 3
%77 = load double, double* %76
%78 = load double*, double** %12
%79 = load double*, double** %13
%80 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %75, double %77, double* %78, double* %79)
%81 = load i32, i32* %7
%82 = getelementptr inbounds [4 x double], [4 x double]* %10, i64 0, i64 1
%83 = load double, double* %82
%84 = load double*, double** %11
%85 = load double*, double** %13
%86 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %81, double %83, double* %84, double* %85)
%87 = load i32, i32* %5
%88 = load i32, i32* %5
%89 = load i32, i32* %5
%90 = load double*, double** %6
%91 = load i32, i32* %5
%92 = load double*, double** %13
%93 = load i32, i32* %5
%94 = load double*, double** %8
%95 = load i32, i32* %5
%96 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %87, i32 %88, i32 %89, double* %90, i32 %91, double* %92, i32 %93, double* %94, i32 %95)
%97 = load i32, i32* %7
%98 = load double*, double** %9
%99 = call i32 (i32, i32, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, i32, double*, ...)*)(i32 %97, i32 0, double* %98)
%100 = load i32, i32* %7
%101 = getelementptr inbounds [4 x double], [4 x double]* %10, i64 0, i64 2
%102 = load double, double* %101
%103 = load double*, double** %12
%104 = load double*, double** %9
%105 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %100, double %102, double* %103, double* %104)
%106 = load i32, i32* %7
%107 = getelementptr inbounds [4 x double], [4 x double]* %10, i64 0, i64 0
%108 = load double, double* %107
%109 = load double*, double** %11
%110 = load double*, double** %9
%111 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %106, double %108, double* %109, double* %110)
%112 = load double*, double** %11
%113 = bitcast double* %112 to i8*
%114 = load double*, double** %12
%115 = bitcast double* %114 to i8*
%116 = load double*, double** %13
%117 = bitcast double* %116 to i8*
br label %687
118: ; preds = %3
%119 = load i32, i32* %4
%120 = icmp eq i32 %119, 5
br i1 %120, label %121, label %222
121: ; preds = %118
%122 = bitcast [6 x double]* %14 to i8*
%123 = bitcast i8* %122 to [6 x double]*
%124 = getelementptr inbounds [6 x double], [6 x double]* %123, i32 0, i32 0
store double 3.024000e+04, double* %124
%125 = getelementptr inbounds [6 x double], [6 x double]* %123, i32 0, i32 1
store double 1.512000e+04, double* %125
%126 = getelementptr inbounds [6 x double], [6 x double]* %123, i32 0, i32 2
store double 3.360000e+03, double* %126
%127 = getelementptr inbounds [6 x double], [6 x double]* %123, i32 0, i32 3
store double 4.200000e+02, double* %127
%128 = getelementptr inbounds [6 x double], [6 x double]* %123, i32 0, i32 4
store double 3.000000e+01, double* %128
%129 = getelementptr inbounds [6 x double], [6 x double]* %123, i32 0, i32 5
store double 1.000000e+00, double* %129
%130 = load i32, i32* %5
%131 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %15, i32 %130)
%132 = load i32, i32* %5
%133 = load i32, i32* %5
%134 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %16, i32 %132, i32 %133)
%135 = load i32, i32* %5
%136 = load i32, i32* %5
%137 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %17, i32 %135, i32 %136)
%138 = load i32, i32* %5
%139 = load i32, i32* %5
%140 = load i32, i32* %5
%141 = load double*, double** %6
%142 = load i32, i32* %5
%143 = load double*, double** %6
%144 = load i32, i32* %5
%145 = load double*, double** %16
%146 = load i32, i32* %5
%147 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %138, i32 %139, i32 %140, double* %141, i32 %142, double* %143, i32 %144, double* %145, i32 %146)
%148 = load i32, i32* %5
%149 = load i32, i32* %5
%150 = load i32, i32* %5
%151 = load double*, double** %16
%152 = load i32, i32* %5
%153 = load double*, double** %16
%154 = load i32, i32* %5
%155 = load double*, double** %17
%156 = load i32, i32* %5
%157 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %148, i32 %149, i32 %150, double* %151, i32 %152, double* %153, i32 %154, double* %155, i32 %156)
%158 = load i32, i32* %5
%159 = load i32, i32* %5
%160 = load double*, double** %17
%161 = load i32, i32* %5
%162 = load double*, double** %9
%163 = load i32, i32* %5
%164 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %158, i32 %159, double* %160, i32 %161, double* %162, i32 %163)
%165 = load i32, i32* %5
%166 = load i32, i32* %5
%167 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %18, i32 %165, i32 %166)
%168 = load i32, i32* %5
%169 = load i32, i32* %5
%170 = load double*, double** %17
%171 = load i32, i32* %5
%172 = load double*, double** %18
%173 = load i32, i32* %5
%174 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %168, i32 %169, double* %170, i32 %171, double* %172, i32 %173)
%175 = load i32, i32* %7
%176 = getelementptr inbounds [6 x double], [6 x double]* %14, i64 0, i64 3
%177 = load double, double* %176
%178 = load double*, double** %16
%179 = load double*, double** %18
%180 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %175, double %177, double* %178, double* %179)
%181 = load i32, i32* %7
%182 = getelementptr inbounds [6 x double], [6 x double]* %14, i64 0, i64 1
%183 = load double, double* %182
%184 = load double*, double** %15
%185 = load double*, double** %18
%186 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %181, double %183, double* %184, double* %185)
%187 = load i32, i32* %5
%188 = load i32, i32* %5
%189 = load i32, i32* %5
%190 = load double*, double** %6
%191 = load i32, i32* %5
%192 = load double*, double** %18
%193 = load i32, i32* %5
%194 = load double*, double** %8
%195 = load i32, i32* %5
%196 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %187, i32 %188, i32 %189, double* %190, i32 %191, double* %192, i32 %193, double* %194, i32 %195)
%197 = load i32, i32* %7
%198 = getelementptr inbounds [6 x double], [6 x double]* %14, i64 0, i64 4
%199 = load double, double* %198
%200 = load double*, double** %9
%201 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, double, double*, ...)*)(i32 %197, double %199, double* %200)
%202 = load i32, i32* %7
%203 = getelementptr inbounds [6 x double], [6 x double]* %14, i64 0, i64 2
%204 = load double, double* %203
%205 = load double*, double** %16
%206 = load double*, double** %9
%207 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %202, double %204, double* %205, double* %206)
%208 = load i32, i32* %7
%209 = getelementptr inbounds [6 x double], [6 x double]* %14, i64 0, i64 0
%210 = load double, double* %209
%211 = load double*, double** %15
%212 = load double*, double** %9
%213 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %208, double %210, double* %211, double* %212)
%214 = load double*, double** %15
%215 = bitcast double* %214 to i8*
%216 = load double*, double** %16
%217 = bitcast double* %216 to i8*
%218 = load double*, double** %17
%219 = bitcast double* %218 to i8*
%220 = load double*, double** %18
%221 = bitcast double* %220 to i8*
br label %686
222: ; preds = %118
%223 = load i32, i32* %4
%224 = icmp eq i32 %223, 7
br i1 %224, label %225, label %345
225: ; preds = %222
%226 = bitcast [8 x double]* %19 to i8*
%227 = load i32, i32* %5
%228 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %20, i32 %227)
%229 = load i32, i32* %5
%230 = load i32, i32* %5
%231 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %21, i32 %229, i32 %230)
%232 = load i32, i32* %5
%233 = load i32, i32* %5
%234 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %22, i32 %232, i32 %233)
%235 = load i32, i32* %5
%236 = load i32, i32* %5
%237 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %23, i32 %235, i32 %236)
%238 = load i32, i32* %5
%239 = load i32, i32* %5
%240 = load i32, i32* %5
%241 = load double*, double** %6
%242 = load i32, i32* %5
%243 = load double*, double** %6
%244 = load i32, i32* %5
%245 = load double*, double** %21
%246 = load i32, i32* %5
%247 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %238, i32 %239, i32 %240, double* %241, i32 %242, double* %243, i32 %244, double* %245, i32 %246)
%248 = load i32, i32* %5
%249 = load i32, i32* %5
%250 = load i32, i32* %5
%251 = load double*, double** %21
%252 = load i32, i32* %5
%253 = load double*, double** %21
%254 = load i32, i32* %5
%255 = load double*, double** %22
%256 = load i32, i32* %5
%257 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %248, i32 %249, i32 %250, double* %251, i32 %252, double* %253, i32 %254, double* %255, i32 %256)
%258 = load i32, i32* %5
%259 = load i32, i32* %5
%260 = load i32, i32* %5
%261 = load double*, double** %22
%262 = load i32, i32* %5
%263 = load double*, double** %21
%264 = load i32, i32* %5
%265 = load double*, double** %23
%266 = load i32, i32* %5
%267 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %258, i32 %259, i32 %260, double* %261, i32 %262, double* %263, i32 %264, double* %265, i32 %266)
%268 = load i32, i32* %5
%269 = load i32, i32* %5
%270 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %24, i32 %268, i32 %269)
%271 = load i32, i32* %7
%272 = load double*, double** %24
%273 = call i32 (i32, i32, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, i32, double*, ...)*)(i32 %271, i32 0, double* %272)
%274 = load i32, i32* %7
%275 = getelementptr inbounds [8 x double], [8 x double]* %19, i64 0, i64 3
%276 = load double, double* %275
%277 = load double*, double** %21
%278 = load double*, double** %24
%279 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %274, double %276, double* %277, double* %278)
%280 = load i32, i32* %7
%281 = getelementptr inbounds [8 x double], [8 x double]* %19, i64 0, i64 1
%282 = load double, double* %281
%283 = load double*, double** %20
%284 = load double*, double** %24
%285 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %280, double %282, double* %283, double* %284)
%286 = load i32, i32* %7
%287 = getelementptr inbounds [8 x double], [8 x double]* %19, i64 0, i64 5
%288 = load double, double* %287
%289 = load double*, double** %22
%290 = load double*, double** %24
%291 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %286, double %288, double* %289, double* %290)
%292 = load i32, i32* %7
%293 = getelementptr inbounds [8 x double], [8 x double]* %19, i64 0, i64 7
%294 = load double, double* %293
%295 = load double*, double** %23
%296 = load double*, double** %24
%297 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %292, double %294, double* %295, double* %296)
%298 = load i32, i32* %5
%299 = load i32, i32* %5
%300 = load i32, i32* %5
%301 = load double*, double** %6
%302 = load i32, i32* %5
%303 = load double*, double** %24
%304 = load i32, i32* %5
%305 = load double*, double** %8
%306 = load i32, i32* %5
%307 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %298, i32 %299, i32 %300, double* %301, i32 %302, double* %303, i32 %304, double* %305, i32 %306)
%308 = load i32, i32* %7
%309 = load double*, double** %9
%310 = call i32 (i32, i32, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, i32, double*, ...)*)(i32 %308, i32 0, double* %309)
%311 = load i32, i32* %7
%312 = getelementptr inbounds [8 x double], [8 x double]* %19, i64 0, i64 2
%313 = load double, double* %312
%314 = load double*, double** %21
%315 = load double*, double** %9
%316 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %311, double %313, double* %314, double* %315)
%317 = load i32, i32* %7
%318 = getelementptr inbounds [8 x double], [8 x double]* %19, i64 0, i64 0
%319 = load double, double* %318
%320 = load double*, double** %20
%321 = load double*, double** %9
%322 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %317, double %319, double* %320, double* %321)
%323 = load i32, i32* %7
%324 = getelementptr inbounds [8 x double], [8 x double]* %19, i64 0, i64 4
%325 = load double, double* %324
%326 = load double*, double** %22
%327 = load double*, double** %9
%328 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %323, double %325, double* %326, double* %327)
%329 = load i32, i32* %7
%330 = getelementptr inbounds [8 x double], [8 x double]* %19, i64 0, i64 6
%331 = load double, double* %330
%332 = load double*, double** %23
%333 = load double*, double** %9
%334 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %329, double %331, double* %332, double* %333)
%335 = load double*, double** %20
%336 = bitcast double* %335 to i8*
%337 = load double*, double** %21
%338 = bitcast double* %337 to i8*
%339 = load double*, double** %22
%340 = bitcast double* %339 to i8*
%341 = load double*, double** %23
%342 = bitcast double* %341 to i8*
%343 = load double*, double** %24
%344 = bitcast double* %343 to i8*
br label %685
345: ; preds = %222
%346 = load i32, i32* %4
%347 = icmp eq i32 %346, 9
br i1 %347, label %348, label %496
348: ; preds = %345
%349 = bitcast [10 x double]* %25 to i8*
%350 = load i32, i32* %5
%351 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %26, i32 %350)
%352 = load i32, i32* %5
%353 = load i32, i32* %5
%354 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %27, i32 %352, i32 %353)
%355 = load i32, i32* %5
%356 = load i32, i32* %5
%357 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %28, i32 %355, i32 %356)
%358 = load i32, i32* %5
%359 = load i32, i32* %5
%360 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %29, i32 %358, i32 %359)
%361 = load i32, i32* %5
%362 = load i32, i32* %5
%363 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %30, i32 %361, i32 %362)
%364 = load i32, i32* %5
%365 = load i32, i32* %5
%366 = load i32, i32* %5
%367 = load double*, double** %6
%368 = load i32, i32* %5
%369 = load double*, double** %6
%370 = load i32, i32* %5
%371 = load double*, double** %27
%372 = load i32, i32* %5
%373 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %364, i32 %365, i32 %366, double* %367, i32 %368, double* %369, i32 %370, double* %371, i32 %372)
%374 = load i32, i32* %5
%375 = load i32, i32* %5
%376 = load i32, i32* %5
%377 = load double*, double** %27
%378 = load i32, i32* %5
%379 = load double*, double** %27
%380 = load i32, i32* %5
%381 = load double*, double** %28
%382 = load i32, i32* %5
%383 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %374, i32 %375, i32 %376, double* %377, i32 %378, double* %379, i32 %380, double* %381, i32 %382)
%384 = load i32, i32* %5
%385 = load i32, i32* %5
%386 = load i32, i32* %5
%387 = load double*, double** %28
%388 = load i32, i32* %5
%389 = load double*, double** %27
%390 = load i32, i32* %5
%391 = load double*, double** %29
%392 = load i32, i32* %5
%393 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %384, i32 %385, i32 %386, double* %387, i32 %388, double* %389, i32 %390, double* %391, i32 %392)
%394 = load i32, i32* %5
%395 = load i32, i32* %5
%396 = load i32, i32* %5
%397 = load double*, double** %29
%398 = load i32, i32* %5
%399 = load double*, double** %27
%400 = load i32, i32* %5
%401 = load double*, double** %30
%402 = load i32, i32* %5
%403 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %394, i32 %395, i32 %396, double* %397, i32 %398, double* %399, i32 %400, double* %401, i32 %402)
%404 = load i32, i32* %5
%405 = load i32, i32* %5
%406 = load double*, double** %30
%407 = load i32, i32* %5
%408 = load double*, double** %9
%409 = load i32, i32* %5
%410 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %404, i32 %405, double* %406, i32 %407, double* %408, i32 %409)
%411 = load i32, i32* %5
%412 = load i32, i32* %5
%413 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %31, i32 %411, i32 %412)
%414 = load i32, i32* %5
%415 = load i32, i32* %5
%416 = load double*, double** %30
%417 = load i32, i32* %5
%418 = load double*, double** %31
%419 = load i32, i32* %5
%420 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %414, i32 %415, double* %416, i32 %417, double* %418, i32 %419)
%421 = load i32, i32* %7
%422 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 3
%423 = load double, double* %422
%424 = load double*, double** %27
%425 = load double*, double** %31
%426 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %421, double %423, double* %424, double* %425)
%427 = load i32, i32* %7
%428 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 1
%429 = load double, double* %428
%430 = load double*, double** %26
%431 = load double*, double** %31
%432 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %427, double %429, double* %430, double* %431)
%433 = load i32, i32* %7
%434 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 5
%435 = load double, double* %434
%436 = load double*, double** %28
%437 = load double*, double** %31
%438 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %433, double %435, double* %436, double* %437)
%439 = load i32, i32* %7
%440 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 7
%441 = load double, double* %440
%442 = load double*, double** %29
%443 = load double*, double** %31
%444 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %439, double %441, double* %442, double* %443)
%445 = load i32, i32* %5
%446 = load i32, i32* %5
%447 = load i32, i32* %5
%448 = load double*, double** %6
%449 = load i32, i32* %5
%450 = load double*, double** %31
%451 = load i32, i32* %5
%452 = load double*, double** %8
%453 = load i32, i32* %5
%454 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %445, i32 %446, i32 %447, double* %448, i32 %449, double* %450, i32 %451, double* %452, i32 %453)
%455 = load i32, i32* %7
%456 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 8
%457 = load double, double* %456
%458 = load double*, double** %9
%459 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, double, double*, ...)*)(i32 %455, double %457, double* %458)
%460 = load i32, i32* %7
%461 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 2
%462 = load double, double* %461
%463 = load double*, double** %27
%464 = load double*, double** %9
%465 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %460, double %462, double* %463, double* %464)
%466 = load i32, i32* %7
%467 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 0
%468 = load double, double* %467
%469 = load double*, double** %26
%470 = load double*, double** %9
%471 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %466, double %468, double* %469, double* %470)
%472 = load i32, i32* %7
%473 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 4
%474 = load double, double* %473
%475 = load double*, double** %28
%476 = load double*, double** %9
%477 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %472, double %474, double* %475, double* %476)
%478 = load i32, i32* %7
%479 = getelementptr inbounds [10 x double], [10 x double]* %25, i64 0, i64 6
%480 = load double, double* %479
%481 = load double*, double** %29
%482 = load double*, double** %9
%483 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %478, double %480, double* %481, double* %482)
%484 = load double*, double** %26
%485 = bitcast double* %484 to i8*
%486 = load double*, double** %27
%487 = bitcast double* %486 to i8*
%488 = load double*, double** %28
%489 = bitcast double* %488 to i8*
%490 = load double*, double** %29
%491 = bitcast double* %490 to i8*
%492 = load double*, double** %30
%493 = bitcast double* %492 to i8*
%494 = load double*, double** %31
%495 = bitcast double* %494 to i8*
br label %684
496: ; preds = %345
%497 = load i32, i32* %4
%498 = icmp eq i32 %497, 13
br i1 %498, label %499, label %681
499: ; preds = %496
%500 = bitcast [14 x double]* %32 to i8*
%501 = load i32, i32* %5
%502 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %33, i32 %501)
%503 = load i32, i32* %5
%504 = load i32, i32* %5
%505 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %34, i32 %503, i32 %504)
%506 = load i32, i32* %5
%507 = load i32, i32* %5
%508 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %35, i32 %506, i32 %507)
%509 = load i32, i32* %5
%510 = load i32, i32* %5
%511 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %36, i32 %509, i32 %510)
%512 = load i32, i32* %5
%513 = load i32, i32* %5
%514 = load i32, i32* %5
%515 = load double*, double** %6
%516 = load i32, i32* %5
%517 = load double*, double** %6
%518 = load i32, i32* %5
%519 = load double*, double** %34
%520 = load i32, i32* %5
%521 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %512, i32 %513, i32 %514, double* %515, i32 %516, double* %517, i32 %518, double* %519, i32 %520)
%522 = load i32, i32* %5
%523 = load i32, i32* %5
%524 = load i32, i32* %5
%525 = load double*, double** %34
%526 = load i32, i32* %5
%527 = load double*, double** %34
%528 = load i32, i32* %5
%529 = load double*, double** %35
%530 = load i32, i32* %5
%531 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %522, i32 %523, i32 %524, double* %525, i32 %526, double* %527, i32 %528, double* %529, i32 %530)
%532 = load i32, i32* %5
%533 = load i32, i32* %5
%534 = load i32, i32* %5
%535 = load double*, double** %35
%536 = load i32, i32* %5
%537 = load double*, double** %34
%538 = load i32, i32* %5
%539 = load double*, double** %36
%540 = load i32, i32* %5
%541 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %532, i32 %533, i32 %534, double* %535, i32 %536, double* %537, i32 %538, double* %539, i32 %540)
%542 = load i32, i32* %5
%543 = load i32, i32* %5
%544 = load double*, double** %34
%545 = load i32, i32* %5
%546 = load double*, double** %8
%547 = load i32, i32* %5
%548 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %542, i32 %543, double* %544, i32 %545, double* %546, i32 %547)
%549 = load i32, i32* %5
%550 = load i32, i32* %5
%551 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %37, i32 %549, i32 %550)
%552 = load i32, i32* %7
%553 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 9
%554 = load double, double* %553
%555 = load double*, double** %8
%556 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, double, double*, ...)*)(i32 %552, double %554, double* %555)
%557 = load i32, i32* %7
%558 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 11
%559 = load double, double* %558
%560 = load double*, double** %35
%561 = load double*, double** %8
%562 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %557, double %559, double* %560, double* %561)
%563 = load i32, i32* %7
%564 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 13
%565 = load double, double* %564
%566 = load double*, double** %36
%567 = load double*, double** %8
%568 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %563, double %565, double* %566, double* %567)
%569 = load i32, i32* %5
%570 = load i32, i32* %5
%571 = load i32, i32* %5
%572 = load double*, double** %36
%573 = load i32, i32* %5
%574 = load double*, double** %8
%575 = load i32, i32* %5
%576 = load double*, double** %37
%577 = load i32, i32* %5
%578 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %569, i32 %570, i32 %571, double* %572, i32 %573, double* %574, i32 %575, double* %576, i32 %577)
%579 = load i32, i32* %7
%580 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 7
%581 = load double, double* %580
%582 = load double*, double** %36
%583 = load double*, double** %37
%584 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %579, double %581, double* %582, double* %583)
%585 = load i32, i32* %7
%586 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 5
%587 = load double, double* %586
%588 = load double*, double** %35
%589 = load double*, double** %37
%590 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %585, double %587, double* %588, double* %589)
%591 = load i32, i32* %7
%592 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 3
%593 = load double, double* %592
%594 = load double*, double** %34
%595 = load double*, double** %37
%596 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %591, double %593, double* %594, double* %595)
%597 = load i32, i32* %7
%598 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 1
%599 = load double, double* %598
%600 = load double*, double** %33
%601 = load double*, double** %37
%602 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %597, double %599, double* %600, double* %601)
%603 = load i32, i32* %5
%604 = load i32, i32* %5
%605 = load i32, i32* %5
%606 = load double*, double** %6
%607 = load i32, i32* %5
%608 = load double*, double** %37
%609 = load i32, i32* %5
%610 = load double*, double** %8
%611 = load i32, i32* %5
%612 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %603, i32 %604, i32 %605, double* %606, i32 %607, double* %608, i32 %609, double* %610, i32 %611)
%613 = load i32, i32* %5
%614 = load i32, i32* %5
%615 = load double*, double** %34
%616 = load i32, i32* %5
%617 = load double*, double** %37
%618 = load i32, i32* %5
%619 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %613, i32 %614, double* %615, i32 %616, double* %617, i32 %618)
%620 = load i32, i32* %7
%621 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 8
%622 = load double, double* %621
%623 = load double*, double** %9
%624 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, double, double*, ...)*)(i32 %620, double %622, double* %623)
%625 = load i32, i32* %7
%626 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 12
%627 = load double, double* %626
%628 = load double*, double** %36
%629 = load double*, double** %37
%630 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %625, double %627, double* %628, double* %629)
%631 = load i32, i32* %7
%632 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 10
%633 = load double, double* %632
%634 = load double*, double** %35
%635 = load double*, double** %37
%636 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %631, double %633, double* %634, double* %635)
%637 = load i32, i32* %5
%638 = load i32, i32* %5
%639 = load i32, i32* %5
%640 = load double*, double** %36
%641 = load i32, i32* %5
%642 = load double*, double** %37
%643 = load i32, i32* %5
%644 = load double*, double** %9
%645 = load i32, i32* %5
%646 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %637, i32 %638, i32 %639, double* %640, i32 %641, double* %642, i32 %643, double* %644, i32 %645)
%647 = load i32, i32* %7
%648 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 6
%649 = load double, double* %648
%650 = load double*, double** %36
%651 = load double*, double** %9
%652 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %647, double %649, double* %650, double* %651)
%653 = load i32, i32* %7
%654 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 4
%655 = load double, double* %654
%656 = load double*, double** %35
%657 = load double*, double** %9
%658 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %653, double %655, double* %656, double* %657)
%659 = load i32, i32* %7
%660 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 2
%661 = load double, double* %660
%662 = load double*, double** %34
%663 = load double*, double** %9
%664 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %659, double %661, double* %662, double* %663)
%665 = load i32, i32* %7
%666 = getelementptr inbounds [14 x double], [14 x double]* %32, i64 0, i64 0
%667 = load double, double* %666
%668 = load double*, double** %33
%669 = load double*, double** %9
%670 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %665, double %667, double* %668, double* %669)
%671 = load double*, double** %33
%672 = bitcast double* %671 to i8*
%673 = load double*, double** %34
%674 = bitcast double* %673 to i8*
%675 = load double*, double** %35
%676 = bitcast double* %675 to i8*
%677 = load double*, double** %36
%678 = bitcast double* %677 to i8*
%679 = load double*, double** %37
%680 = bitcast double* %679 to i8*
br label %683
681: ; preds = %496
%682 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.4, i64 0, i64 0))
unreachable
683: ; preds = %499
br label %684
684: ; preds = %683, %348
br label %685
685: ; preds = %684, %225
br label %686
686: ; preds = %685, %121
br label %687
687: ; preds = %686, %52
%688 = load i32, i32* %5
%689 = load i32, i32* %5
%690 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %38, i32 %688, i32 %689)
%691 = load i32, i32* %5
%692 = load i32, i32* %5
%693 = load double*, double** %9
%694 = load i32, i32* %5
%695 = load double*, double** %6
%696 = load i32, i32* %5
%697 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %691, i32 %692, double* %693, i32 %694, double* %695, i32 %696)
%698 = load i32, i32* %7
%699 = load double*, double** %8
%700 = load double*, double** %6
%701 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %698, double 1.000000e+00, double* %699, double* %700)
%702 = load i32, i32* %5
%703 = load i32, i32* %5
%704 = load double*, double** %9
%705 = load i32, i32* %5
%706 = load double*, double** %38
%707 = load i32, i32* %5
%708 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %702, i32 %703, double* %704, i32 %705, double* %706, i32 %707)
%709 = load i32, i32* %7
%710 = load double*, double** %8
%711 = load double*, double** %38
%712 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %709, double -1.000000e+00, double* %710, double* %711)
%713 = load i32, i32* %5
%714 = sext i32 %713 to i64
%715 = mul i64 %714, 4
%716 = call i8* @malloc(i64 %715)
%717 = bitcast i8* %716 to i32*
store i32* %717, i32** %39
store i32 0, i32* %40
%718 = load i32, i32* %5
%719 = load i32, i32* %5
%720 = load double*, double** %38
%721 = load i32, i32* %5
%722 = load i32*, i32** %39
%723 = load double*, double** %6
%724 = load i32, i32* %5
%725 = call i32 (i32, i32, double*, i32, i32*, double*, i32, i32*, ...) bitcast (i32 (...)* @dgesv_3l to i32 (i32, i32, double*, i32, i32*, double*, i32, i32*, ...)*)(i32 %718, i32 %719, double* %720, i32 %721, i32* %722, double* %723, i32 %724, i32* %40)
%726 = load i32*, i32** %39
%727 = bitcast i32* %726 to i8*
%728 = load double*, double** %38
%729 = bitcast double* %728 to i8*
%730 = load double*, double** %8
%731 = bitcast double* %730 to i8*
%732 = load double*, double** %9
%733 = bitcast double* %732 to i8*
ret void
}

LLVM IR (-O2):
@.str.4 = [31 x i8] c"Wrong Pade approximatin degree\00"
define void @padeapprox(i32 %0, i32 %1, double* %2) {
%4 = alloca double*
%5 = alloca double*
%6 = alloca double*
%7 = alloca double*
%8 = alloca double*
%9 = alloca double*
%10 = alloca double*
%11 = alloca double*
%12 = alloca double*
%13 = alloca double*
%14 = alloca double*
%15 = alloca double*
%16 = alloca double*
%17 = alloca double*
%18 = alloca double*
%19 = alloca double*
%20 = alloca double*
%21 = alloca double*
%22 = alloca double*
%23 = alloca double*
%24 = alloca double*
%25 = alloca double*
%26 = alloca double*
%27 = alloca double*
%28 = alloca double*
%29 = alloca double*
%30 = alloca i32
%31 = mul nsw i32 %1, %1
%32 = bitcast double** %4 to i8*
%33 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %4, i32 %1, i32 %1)
%34 = bitcast double** %5 to i8*
%35 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %5, i32 %1, i32 %1)
switch i32 %0, label %336 [
i32 3, label %36
i32 5, label %70
i32 7, label %115
i32 9, label %176
i32 13, label %249
]
36: ; preds = %3
%37 = bitcast double** %6 to i8*
%38 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %6, i32 %1)
%39 = bitcast double** %7 to i8*
%40 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %7, i32 %1, i32 %1)
%41 = load double*, double** %7
%42 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %2, i32 %1, double* %41, i32 %1)
%43 = bitcast double** %8 to i8*
%44 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %8, i32 %1, i32 %1)
%45 = load double*, double** %8
%46 = call i32 (i32, i32, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, i32, double*, ...)*)(i32 %31, i32 0, double* %45)
%47 = load double*, double** %7
%48 = load double*, double** %8
%49 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.000000e+00, double* %47, double* %48)
%50 = load double*, double** %6
%51 = load double*, double** %8
%52 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 6.000000e+01, double* %50, double* %51)
%53 = load double*, double** %8
%54 = load double*, double** %4
%55 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %53, i32 %1, double* %54, i32 %1)
%56 = load double*, double** %5
%57 = call i32 (i32, i32, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, i32, double*, ...)*)(i32 %31, i32 0, double* %56)
%58 = load double*, double** %7
%59 = load double*, double** %5
%60 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.200000e+01, double* %58, double* %59)
%61 = load double*, double** %6
%62 = load double*, double** %5
%63 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.200000e+02, double* %61, double* %62)
%64 = bitcast double** %6 to i8**
%65 = load i8*, i8** %64
%66 = bitcast double** %7 to i8**
%67 = load i8*, i8** %66
%68 = bitcast double** %8 to i8**
%69 = load i8*, i8** %68
br label %338
70: ; preds = %3
%71 = bitcast double** %9 to i8*
%72 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %9, i32 %1)
%73 = bitcast double** %10 to i8*
%74 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %10, i32 %1, i32 %1)
%75 = bitcast double** %11 to i8*
%76 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %11, i32 %1, i32 %1)
%77 = load double*, double** %10
%78 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %2, i32 %1, double* %77, i32 %1)
%79 = load double*, double** %10
%80 = load double*, double** %11
%81 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %79, i32 %1, double* %79, i32 %1, double* %80, i32 %1)
%82 = load double*, double** %11
%83 = load double*, double** %5
%84 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, double* %82, i32 %1, double* %83, i32 %1)
%85 = bitcast double** %12 to i8*
%86 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %12, i32 %1, i32 %1)
%87 = load double*, double** %11
%88 = load double*, double** %12
%89 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, double* %87, i32 %1, double* %88, i32 %1)
%90 = load double*, double** %10
%91 = load double*, double** %12
%92 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 4.200000e+02, double* %90, double* %91)
%93 = load double*, double** %9
%94 = load double*, double** %12
%95 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.512000e+04, double* %93, double* %94)
%96 = load double*, double** %12
%97 = load double*, double** %4
%98 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %96, i32 %1, double* %97, i32 %1)
%99 = load double*, double** %5
%100 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, double, double*, ...)*)(i32 %31, double 3.000000e+01, double* %99)
%101 = load double*, double** %10
%102 = load double*, double** %5
%103 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 3.360000e+03, double* %101, double* %102)
%104 = load double*, double** %9
%105 = load double*, double** %5
%106 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 3.024000e+04, double* %104, double* %105)
%107 = bitcast double** %9 to i8**
%108 = load i8*, i8** %107
%109 = bitcast double** %10 to i8**
%110 = load i8*, i8** %109
%111 = bitcast double** %11 to i8**
%112 = load i8*, i8** %111
%113 = bitcast double** %12 to i8**
%114 = load i8*, i8** %113
br label %338
115: ; preds = %3
%116 = bitcast double** %13 to i8*
%117 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %13, i32 %1)
%118 = bitcast double** %14 to i8*
%119 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %14, i32 %1, i32 %1)
%120 = bitcast double** %15 to i8*
%121 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %15, i32 %1, i32 %1)
%122 = bitcast double** %16 to i8*
%123 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %16, i32 %1, i32 %1)
%124 = load double*, double** %14
%125 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %2, i32 %1, double* %124, i32 %1)
%126 = load double*, double** %14
%127 = load double*, double** %15
%128 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %126, i32 %1, double* %126, i32 %1, double* %127, i32 %1)
%129 = load double*, double** %15
%130 = load double*, double** %14
%131 = load double*, double** %16
%132 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %129, i32 %1, double* %130, i32 %1, double* %131, i32 %1)
%133 = bitcast double** %17 to i8*
%134 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %17, i32 %1, i32 %1)
%135 = load double*, double** %17
%136 = call i32 (i32, i32, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, i32, double*, ...)*)(i32 %31, i32 0, double* %135)
%137 = load double*, double** %14
%138 = load double*, double** %17
%139 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 2.772000e+05, double* %137, double* %138)
%140 = load double*, double** %13
%141 = load double*, double** %17
%142 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 8.648640e+06, double* %140, double* %141)
%143 = load double*, double** %15
%144 = load double*, double** %17
%145 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.512000e+03, double* %143, double* %144)
%146 = load double*, double** %16
%147 = load double*, double** %17
%148 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.000000e+00, double* %146, double* %147)
%149 = load double*, double** %17
%150 = load double*, double** %4
%151 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %149, i32 %1, double* %150, i32 %1)
%152 = load double*, double** %5
%153 = call i32 (i32, i32, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, i32, double*, ...)*)(i32 %31, i32 0, double* %152)
%154 = load double*, double** %14
%155 = load double*, double** %5
%156 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.995840e+06, double* %154, double* %155)
%157 = load double*, double** %13
%158 = load double*, double** %5
%159 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x41707EF800000000, double* %157, double* %158)
%160 = load double*, double** %15
%161 = load double*, double** %5
%162 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 2.520000e+04, double* %160, double* %161)
%163 = load double*, double** %16
%164 = load double*, double** %5
%165 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 5.600000e+01, double* %163, double* %164)
%166 = bitcast double** %13 to i8**
%167 = load i8*, i8** %166
%168 = bitcast double** %14 to i8**
%169 = load i8*, i8** %168
%170 = bitcast double** %15 to i8**
%171 = load i8*, i8** %170
%172 = bitcast double** %16 to i8**
%173 = load i8*, i8** %172
%174 = bitcast double** %17 to i8**
%175 = load i8*, i8** %174
br label %338
176: ; preds = %3
%177 = bitcast double** %18 to i8*
%178 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %18, i32 %1)
%179 = bitcast double** %19 to i8*
%180 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %19, i32 %1, i32 %1)
%181 = bitcast double** %20 to i8*
%182 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %20, i32 %1, i32 %1)
%183 = bitcast double** %21 to i8*
%184 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %21, i32 %1, i32 %1)
%185 = bitcast double** %22 to i8*
%186 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %22, i32 %1, i32 %1)
%187 = load double*, double** %19
%188 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %2, i32 %1, double* %187, i32 %1)
%189 = load double*, double** %19
%190 = load double*, double** %20
%191 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %189, i32 %1, double* %189, i32 %1, double* %190, i32 %1)
%192 = load double*, double** %20
%193 = load double*, double** %19
%194 = load double*, double** %21
%195 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %192, i32 %1, double* %193, i32 %1, double* %194, i32 %1)
%196 = load double*, double** %21
%197 = load double*, double** %19
%198 = load double*, double** %22
%199 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %196, i32 %1, double* %197, i32 %1, double* %198, i32 %1)
%200 = load double*, double** %22
%201 = load double*, double** %5
%202 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, double* %200, i32 %1, double* %201, i32 %1)
%203 = bitcast double** %23 to i8*
%204 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %23, i32 %1, i32 %1)
%205 = load double*, double** %22
%206 = load double*, double** %23
%207 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, double* %205, i32 %1, double* %206, i32 %1)
%208 = load double*, double** %19
%209 = load double*, double** %23
%210 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x41B20ADF40000000, double* %208, double* %209)
%211 = load double*, double** %18
%212 = load double*, double** %23
%213 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x42006E7908000000, double* %211, double* %212)
%214 = load double*, double** %20
%215 = load double*, double** %23
%216 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 2.162160e+06, double* %214, double* %215)
%217 = load double*, double** %21
%218 = load double*, double** %23
%219 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 3.960000e+03, double* %217, double* %218)
%220 = load double*, double** %23
%221 = load double*, double** %4
%222 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %220, i32 %1, double* %221, i32 %1)
%223 = load double*, double** %5
%224 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, double, double*, ...)*)(i32 %31, double 9.000000e+01, double* %223)
%225 = load double*, double** %19
%226 = load double*, double** %5
%227 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x41DEEE1100000000, double* %225, double* %226)
%228 = load double*, double** %18
%229 = load double*, double** %5
%230 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x42106E7908000000, double* %228, double* %229)
%231 = load double*, double** %20
%232 = load double*, double** %5
%233 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x417CDE3200000000, double* %231, double* %232)
%234 = load double*, double** %21
%235 = load double*, double** %5
%236 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.108800e+05, double* %234, double* %235)
%237 = bitcast double** %18 to i8**
%238 = load i8*, i8** %237
%239 = bitcast double** %19 to i8**
%240 = load i8*, i8** %239
%241 = bitcast double** %20 to i8**
%242 = load i8*, i8** %241
%243 = bitcast double** %21 to i8**
%244 = load i8*, i8** %243
%245 = bitcast double** %22 to i8**
%246 = load i8*, i8** %245
%247 = bitcast double** %23 to i8**
%248 = load i8*, i8** %247
br label %338
249: ; preds = %3
%250 = bitcast double** %24 to i8*
%251 = call i32 (double**, i32, ...) bitcast (i32 (...)* @d_eye to i32 (double**, i32, ...)*)(double** %24, i32 %1)
%252 = bitcast double** %25 to i8*
%253 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %25, i32 %1, i32 %1)
%254 = bitcast double** %26 to i8*
%255 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %26, i32 %1, i32 %1)
%256 = bitcast double** %27 to i8*
%257 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %27, i32 %1, i32 %1)
%258 = load double*, double** %25
%259 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %2, i32 %1, double* %258, i32 %1)
%260 = load double*, double** %25
%261 = load double*, double** %26
%262 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %260, i32 %1, double* %260, i32 %1, double* %261, i32 %1)
%263 = load double*, double** %26
%264 = load double*, double** %25
%265 = load double*, double** %27
%266 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %263, i32 %1, double* %264, i32 %1, double* %265, i32 %1)
%267 = load double*, double** %25
%268 = load double*, double** %4
%269 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, double* %267, i32 %1, double* %268, i32 %1)
%270 = bitcast double** %28 to i8*
%271 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %28, i32 %1, i32 %1)
%272 = load double*, double** %4
%273 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, double, double*, ...)*)(i32 %31, double 4.084080e+07, double* %272)
%274 = load double*, double** %26
%275 = load double*, double** %4
%276 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.638000e+04, double* %274, double* %275)
%277 = load double*, double** %27
%278 = load double*, double** %4
%279 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.000000e+00, double* %277, double* %278)
%280 = load double*, double** %27
%281 = load double*, double** %4
%282 = load double*, double** %28
%283 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %280, i32 %1, double* %281, i32 %1, double* %282, i32 %1)
%284 = load double*, double** %27
%285 = load double*, double** %28
%286 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x421F384C5C000000, double* %284, double* %285)
%287 = load double*, double** %26
%288 = load double*, double** %28
%289 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x42A33522FA9A0000, double* %287, double* %288)
%290 = load double*, double** %25
%291 = load double*, double** %28
%292 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x4310DF9165091000, double* %290, double* %291)
%293 = load double*, double** %24
%294 = load double*, double** %28
%295 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x435CC2E660954400, double* %293, double* %294)
%296 = load double*, double** %28
%297 = load double*, double** %4
%298 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %2, i32 %1, double* %296, i32 %1, double* %297, i32 %1)
%299 = load double*, double** %25
%300 = load double*, double** %28
%301 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, double* %299, i32 %1, double* %300, i32 %1)
%302 = load double*, double** %5
%303 = call i32 (i32, double, double*, ...) bitcast (i32 (...)* @dscal_3l to i32 (i32, double, double*, ...)*)(i32 %31, double 0x41D3B7C470000000, double* %302)
%304 = load double*, double** %27
%305 = load double*, double** %28
%306 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.820000e+02, double* %304, double* %305)
%307 = load double*, double** %26
%308 = load double*, double** %28
%309 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 9.609600e+05, double* %307, double* %308)
%310 = load double*, double** %27
%311 = load double*, double** %28
%312 = load double*, double** %5
%313 = call i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dgemm_nn_3l to i32 (i32, i32, i32, double*, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, i32 %1, double* %310, i32 %1, double* %311, i32 %1, double* %312, i32 %1)
%314 = load double*, double** %27
%315 = load double*, double** %5
%316 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x4263832FB9800000, double* %314, double* %315)
%317 = load double*, double** %26
%318 = load double*, double** %5
%319 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x42DD584AC5F98000, double* %317, double* %318)
%320 = load double*, double** %25
%321 = load double*, double** %5
%322 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x433B9C62483D6000, double* %320, double* %321)
%323 = load double*, double** %24
%324 = load double*, double** %5
%325 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 0x436CC2E660954400, double* %323, double* %324)
%326 = bitcast double** %24 to i8**
%327 = load i8*, i8** %326
%328 = bitcast double** %25 to i8**
%329 = load i8*, i8** %328
%330 = bitcast double** %26 to i8**
%331 = load i8*, i8** %330
%332 = bitcast double** %27 to i8**
%333 = load i8*, i8** %332
%334 = bitcast double** %28 to i8**
%335 = load i8*, i8** %334
br label %338
336: ; preds = %3
%337 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @.str.4, i64 0, i64 0))
unreachable
338: ; preds = %70, %176, %249, %115, %36
%339 = bitcast double** %29 to i8*
%340 = call i32 (double**, i32, i32, ...) bitcast (i32 (...)* @d_zeros to i32 (double**, i32, i32, ...)*)(double** %29, i32 %1, i32 %1)
%341 = load double*, double** %5
%342 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, double* %341, i32 %1, double* %2, i32 %1)
%343 = load double*, double** %4
%344 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double 1.000000e+00, double* %343, double* %2)
%345 = load double*, double** %5
%346 = load double*, double** %29
%347 = call i32 (i32, i32, double*, i32, double*, i32, ...) bitcast (i32 (...)* @dmcopy to i32 (i32, i32, double*, i32, double*, i32, ...)*)(i32 %1, i32 %1, double* %345, i32 %1, double* %346, i32 %1)
%348 = load double*, double** %4
%349 = load double*, double** %29
%350 = call i32 (i32, double, double*, double*, ...) bitcast (i32 (...)* @daxpy_3l to i32 (i32, double, double*, double*, ...)*)(i32 %31, double -1.000000e+00, double* %348, double* %349)
%351 = sext i32 %1 to i64
%352 = shl nsw i64 %351, 2
%353 = call i8* @malloc(i64 %352)
%354 = bitcast i8* %353 to i32*
%355 = bitcast i32* %30 to i8*
store i32 0, i32* %30
%356 = load double*, double** %29
%357 = call i32 (i32, i32, double*, i32, i32*, double*, i32, i32*, ...) bitcast (i32 (...)* @dgesv_3l to i32 (i32, i32, double*, i32, i32*, double*, i32, i32*, ...)*)(i32 %1, i32 %1, double* %356, i32 %1, i32* %354, double* %2, i32 %1, i32* %30)
%358 = bitcast double** %29 to i8**
%359 = load i8*, i8** %358
%360 = bitcast double** %4 to i8**
%361 = load i8*, i8** %360
%362 = bitcast double** %5 to i8**
%363 = load i8*, i8** %362
ret void
}