#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ mainlb_(int, int, double *, double *, double *, int *,
                           double *, double *, double *, double *, double *,
                           double *, double *, double *, double *, double *,
                           double *, double *, double *, double *, double *,
                           double *, double *, double *, double *, double *,
                           double *, int *, int *, int *, char *, char *, int *,
                           int *, double *);
scalar_t__ strncmp(char *, char *, int);
int setulb_(int n, int m, double *x, double *l, double *u, int *nbd, double *f,
            double *g, double *factr, double *pgtol, double *wa, int *iwa,
            char *task, char *csave, int *lsave, int *isave, double *dsave) {
  int ld, lr, lt, lz, lwa, lsg, lyg, lwn, lss, lws;
  int lwt, lsy, lwy, lyy, lsnd, lsgo, lygo;
  --wa;
  --isave;
  if (strncmp(task, "START", 5) == 0) {
    isave[1] = m * n;
    isave[2] = m * m;
    isave[3] = m * m << 2;
    isave[4] = 1;
    isave[5] = isave[4] + isave[1];
    isave[6] = isave[5] + isave[1];
    isave[7] = isave[6] + isave[2];
    isave[8] = isave[7] + isave[2];
    isave[9] = isave[8] + isave[2];
    isave[10] = isave[9] + isave[2];
    isave[11] = isave[10] + isave[3];
    isave[12] = isave[11] + isave[3];
    isave[13] = isave[12] + n;
    isave[14] = isave[13] + n;
    isave[15] = isave[14] + n;
    isave[16] = isave[15] + n;
    isave[17] = isave[16] + (m << 3);
    isave[18] = isave[17] + m;
    isave[19] = isave[18] + m;
    isave[20] = isave[19] + m;
  }
  lws = isave[4];
  lwy = isave[5];
  lsy = isave[6];
  lss = isave[7];
  lyy = isave[8];
  lwt = isave[9];
  lwn = isave[10];
  lsnd = isave[11];
  lz = isave[12];
  lr = isave[13];
  ld = isave[14];
  lt = isave[15];
  lwa = isave[16];
  lsg = isave[17];
  lsgo = isave[18];
  lyg = isave[19];
  lygo = isave[20];
  mainlb_(n, m, x, l, u, nbd, f, g, factr, pgtol, &wa[lws], &wa[lwy], &wa[lsy],
          &wa[lss], &wa[lyy], &wa[lwt], &wa[lwn], &wa[lsnd], &wa[lz], &wa[lr],
          &wa[ld], &wa[lt], &wa[lwa], &wa[lsg], &wa[lsgo], &wa[lyg], &wa[lygo],
          iwa, iwa + n, iwa + 2 * n, task, csave, lsave, &isave[22], dsave);
  return 0;
}


x86 assembly (clang, -O0):
<setulb_>:
push   %rbp
mov    %rsp,%rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x208,%rsp
mov    0x60(%rbp),%rax
mov    0x58(%rbp),%rax
mov    0x50(%rbp),%rax
mov    0x48(%rbp),%rax
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %edi,-0x2c(%rbp)
mov    %esi,-0x30(%rbp)
mov    %rdx,-0x38(%rbp)
mov    %rcx,-0x40(%rbp)
mov    %r8,-0x48(%rbp)
mov    %r9,-0x50(%rbp)
mov    0x30(%rbp),%rax
add    $0xfffffffffffffff8,%rax
mov    %rax,0x30(%rbp)
mov    0x58(%rbp),%rax
add    $0xfffffffffffffffc,%rax
mov    %rax,0x58(%rbp)
mov    0x40(%rbp),%rdi
lea    0xe67(%rip),%rsi
mov    $0x5,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    131a <setulb_+0x1fa>
mov    -0x30(%rbp),%ecx
imul   -0x2c(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x30(%rbp),%ecx
imul   -0x30(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x30(%rbp),%ecx
imul   -0x30(%rbp),%ecx
shl    $0x2,%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    0x58(%rbp),%rax
movl   $0x1,0x10(%rax)
mov    0x58(%rbp),%rax
mov    0x10(%rax),%ecx
mov    0x58(%rbp),%rax
add    0x4(%rax),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    0x58(%rbp),%rax
mov    0x14(%rax),%ecx
mov    0x58(%rbp),%rax
add    0x4(%rax),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    0x58(%rbp),%rax
mov    0x18(%rax),%ecx
mov    0x58(%rbp),%rax
add    0x8(%rax),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    0x58(%rbp),%rax
mov    0x1c(%rax),%ecx
mov    0x58(%rbp),%rax
add    0x8(%rax),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x20(%rax)
mov    0x58(%rbp),%rax
mov    0x20(%rax),%ecx
mov    0x58(%rbp),%rax
add    0x8(%rax),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x24(%rax)
mov    0x58(%rbp),%rax
mov    0x24(%rax),%ecx
mov    0x58(%rbp),%rax
add    0x8(%rax),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x28(%rax)
mov    0x58(%rbp),%rax
mov    0x28(%rax),%ecx
mov    0x58(%rbp),%rax
add    0xc(%rax),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x2c(%rax)
mov    0x58(%rbp),%rax
mov    0x2c(%rax),%ecx
mov    0x58(%rbp),%rax
add    0xc(%rax),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x30(%rax)
mov    0x58(%rbp),%rax
mov    0x30(%rax),%ecx
add    -0x2c(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x34(%rax)
mov    0x58(%rbp),%rax
mov    0x34(%rax),%ecx
add    -0x2c(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x38(%rax)
mov    0x58(%rbp),%rax
mov    0x38(%rax),%ecx
add    -0x2c(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x3c(%rax)
mov    0x58(%rbp),%rax
mov    0x3c(%rax),%ecx
add    -0x2c(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x40(%rax)
mov    0x58(%rbp),%rax
mov    0x40(%rax),%ecx
mov    -0x30(%rbp),%eax
shl    $0x3,%eax
add    %eax,%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x44(%rax)
mov    0x58(%rbp),%rax
mov    0x44(%rax),%ecx
add    -0x30(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x48(%rax)
mov    0x58(%rbp),%rax
mov    0x48(%rax),%ecx
add    -0x30(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x4c(%rax)
mov    0x58(%rbp),%rax
mov    0x4c(%rax),%ecx
add    -0x30(%rbp),%ecx
mov    0x58(%rbp),%rax
mov    %ecx,0x50(%rax)
mov    0x58(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x78(%rbp)
mov    0x58(%rbp),%rax
mov    0x14(%rax),%eax
mov    %eax,-0x84(%rbp)
mov    0x58(%rbp),%rax
mov    0x18(%rax),%eax
mov    %eax,-0x80(%rbp)
mov    0x58(%rbp),%rax
mov    0x1c(%rax),%eax
mov    %eax,-0x74(%rbp)
mov    0x58(%rbp),%rax
mov    0x20(%rax),%eax
mov    %eax,-0x88(%rbp)
mov    0x58(%rbp),%rax
mov    0x24(%rax),%eax
mov    %eax,-0x7c(%rbp)
mov    0x58(%rbp),%rax
mov    0x28(%rax),%eax
mov    %eax,-0x70(%rbp)
mov    0x58(%rbp),%rax
mov    0x2c(%rax),%eax
mov    %eax,-0x8c(%rbp)
mov    0x58(%rbp),%rax
mov    0x30(%rax),%eax
mov    %eax,-0x60(%rbp)
mov    0x58(%rbp),%rax
mov    0x34(%rax),%eax
mov    %eax,-0x58(%rbp)
mov    0x58(%rbp),%rax
mov    0x38(%rax),%eax
mov    %eax,-0x54(%rbp)
mov    0x58(%rbp),%rax
mov    0x3c(%rax),%eax
mov    %eax,-0x5c(%rbp)
mov    0x58(%rbp),%rax
mov    0x40(%rax),%eax
mov    %eax,-0x64(%rbp)
mov    0x58(%rbp),%rax
mov    0x44(%rax),%eax
mov    %eax,-0x68(%rbp)
mov    0x58(%rbp),%rax
mov    0x48(%rax),%eax
mov    %eax,-0x90(%rbp)
mov    0x58(%rbp),%rax
mov    0x4c(%rax),%eax
mov    %eax,-0x6c(%rbp)
mov    0x58(%rbp),%rax
mov    0x50(%rax),%eax
mov    %eax,-0x94(%rbp)
mov    -0x2c(%rbp),%edi
mov    -0x30(%rbp),%esi
mov    -0x38(%rbp),%rdx
mov    -0x40(%rbp),%rcx
mov    -0x48(%rbp),%r8
mov    -0x50(%rbp),%r9
mov    0x10(%rbp),%rax
mov    %rax,-0x148(%rbp)
mov    0x18(%rbp),%rax
mov    %rax,-0x140(%rbp)
mov    0x20(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    0x28(%rbp),%rax
mov    %rax,-0x130(%rbp)
mov    0x30(%rbp),%rax
movslq -0x78(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0x128(%rbp)
mov    0x30(%rbp),%rax
movslq -0x84(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0x120(%rbp)
mov    0x30(%rbp),%rax
movslq -0x80(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0x118(%rbp)
mov    0x30(%rbp),%rax
movslq -0x74(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0x110(%rbp)
mov    0x30(%rbp),%rax
movslq -0x88(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0x108(%rbp)
mov    0x30(%rbp),%rax
movslq -0x7c(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0x100(%rbp)
mov    0x30(%rbp),%rax
movslq -0x70(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xf8(%rbp)
mov    0x30(%rbp),%rax
movslq -0x8c(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xf0(%rbp)
mov    0x30(%rbp),%rax
movslq -0x60(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xe8(%rbp)
mov    0x30(%rbp),%rax
movslq -0x58(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xe0(%rbp)
mov    0x30(%rbp),%rax
movslq -0x54(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xd8(%rbp)
mov    0x30(%rbp),%rax
movslq -0x5c(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xd0(%rbp)
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xc8(%rbp)
mov    0x30(%rbp),%rax
movslq -0x68(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xc0(%rbp)
mov    0x30(%rbp),%rax
movslq -0x90(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xb8(%rbp)
mov    0x30(%rbp),%rax
movslq -0x6c(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xb0(%rbp)
mov    0x30(%rbp),%rax
movslq -0x94(%rbp),%r10
shl    $0x3,%r10
add    %r10,%rax
mov    %rax,-0xa8(%rbp)
mov    0x38(%rbp),%r13
mov    0x38(%rbp),%r12
movslq -0x2c(%rbp),%rax
shl    $0x2,%rax
add    %rax,%r12
mov    0x38(%rbp),%r15
mov    -0x2c(%rbp),%eax
shl    $0x1,%eax
cltq
shl    $0x2,%rax
add    %rax,%r15
mov    0x40(%rbp),%r14
mov    0x48(%rbp),%rbx
mov    0x50(%rbp),%r11
mov    0x58(%rbp),%r10
add    $0x58,%r10
mov    0x60(%rbp),%rax
mov    %rax,-0xa0(%rbp)
mov    -0x148(%rbp),%rax
mov    %rax,(%rsp)
mov    -0x140(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x138(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x130(%rbp),%rax
mov    %rax,0x18(%rsp)
mov    -0x128(%rbp),%rax
mov    %rax,0x20(%rsp)
mov    -0x120(%rbp),%rax
mov    %rax,0x28(%rsp)
mov    -0x118(%rbp),%rax
mov    %rax,0x30(%rsp)
mov    -0x110(%rbp),%rax
mov    %rax,0x38(%rsp)
mov    -0x108(%rbp),%rax
mov    %rax,0x40(%rsp)
mov    -0x100(%rbp),%rax
mov    %rax,0x48(%rsp)
mov    -0xf8(%rbp),%rax
mov    %rax,0x50(%rsp)
mov    -0xf0(%rbp),%rax
mov    %rax,0x58(%rsp)
mov    -0xe8(%rbp),%rax
mov    %rax,0x60(%rsp)
mov    -0xe0(%rbp),%rax
mov    %rax,0x68(%rsp)
mov    -0xd8(%rbp),%rax
mov    %rax,0x70(%rsp)
mov    -0xd0(%rbp),%rax
mov    %rax,0x78(%rsp)
mov    -0xc8(%rbp),%rax
mov    %rax,0x80(%rsp)
mov    -0xc0(%rbp),%rax
mov    %rax,0x88(%rsp)
mov    -0xb8(%rbp),%rax
mov    %rax,0x90(%rsp)
mov    -0xb0(%rbp),%rax
mov    %rax,0x98(%rsp)
mov    -0xa8(%rbp),%rax
mov    %rax,0xa0(%rsp)
mov    -0xa0(%rbp),%rax
mov    %r13,0xa8(%rsp)
mov    %r12,0xb0(%rsp)
mov    %r15,0xb8(%rsp)
mov    %r14,0xc0(%rsp)
mov    %rbx,0xc8(%rsp)
mov    %r11,0xd0(%rsp)
mov    %r10,0xd8(%rsp)
mov    %rax,0xe0(%rsp)
call   1030 <mainlb_@plt>
xor    %eax,%eax
add    $0x208,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

x86 assembly (clang, -O2):
<setulb_>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x88,%rsp
mov    %r9,0x80(%rsp)
mov    %r8,0x78(%rsp)
mov    %rcx,0x70(%rsp)
mov    %rdx,0x68(%rsp)
mov    %esi,%ebx
mov    %edi,%ebp
mov    0x108(%rsp),%r15
mov    0xf0(%rsp),%rdi
mov    0xe0(%rsp),%r12
add    $0xfffffffffffffff8,%r12
lea    0xe91(%rip),%rsi
mov    $0x5,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     11eb <setulb_+0xcb>
movslq 0xc(%r15),%r11
mov    0x10(%r15),%eax
mov    %eax,0x8(%rsp)
mov    0x14(%r15),%ecx
mov    %rcx,0x30(%rsp)
mov    0x18(%r15),%ecx
mov    %rcx,0x28(%rsp)
mov    0x1c(%r15),%ecx
mov    %rcx,0x20(%rsp)
mov    0x20(%r15),%ecx
mov    %rcx,0x18(%rsp)
mov    0x24(%r15),%ecx
mov    %rcx,0x10(%rsp)
mov    0x28(%r15),%r13d
mov    0x2c(%r15),%r14d
mov    %rbx,%rsi
mov    0x30(%r15),%ebx
mov    0x34(%r15),%edx
mov    0x38(%r15),%r10d
mov    0x3c(%r15),%r8d
mov    0x40(%r15),%edi
mov    0x44(%r15),%r9d
mov    0x48(%r15),%ecx
mov    0x4c(%r15),%eax
mov    %eax,0x4(%rsp)
jmp    12b3 <setulb_+0x193>
mov    %ebx,%eax
imul   %ebp,%eax
mov    %eax,(%r15)
mov    %ebx,%ecx
imul   %ecx,%ecx
mov    %ecx,0x4(%r15)
lea    0x0(,%rcx,4),%edx
mov    %edx,0x8(%r15)
movl   $0x1,0xc(%r15)
lea    0x1(%rax),%edx
mov    %edx,0x8(%rsp)
mov    %edx,0x10(%r15)
lea    0x1(%rax,%rax,1),%esi
mov    %esi,0x14(%r15)
mov    %rsi,0x30(%rsp)
lea    (%rsi,%rcx,1),%edx
mov    %edx,0x18(%r15)
mov    %rdx,0x28(%rsp)
lea    (%rdx,%rcx,1),%edx
mov    %edx,0x1c(%r15)
mov    %rdx,0x20(%rsp)
lea    (%rdx,%rcx,1),%edx
mov    %edx,0x20(%r15)
mov    %rdx,0x18(%rsp)
lea    (%rdx,%rcx,1),%edx
mov    %edx,0x24(%r15)
mov    %rdx,0x10(%rsp)
lea    (%rdx,%rcx,4),%r13d
mov    %r13d,0x28(%r15)
lea    0x0(%r13,%rcx,4),%r14d
mov    %r14d,0x2c(%r15)
mov    %rbx,%rsi
lea    (%r14,%rbp,1),%ebx
mov    %ebx,0x30(%r15)
lea    (%rbx,%rbp,1),%edx
mov    %edx,0x34(%r15)
lea    (%rdx,%rbp,1),%r10d
mov    %r10d,0x38(%r15)
lea    (%r10,%rbp,1),%r8d
mov    %r8d,0x3c(%r15)
lea    (%r8,%rsi,8),%edi
mov    %edi,0x40(%r15)
lea    (%rdi,%rsi,1),%r9d
mov    %r9d,0x44(%r15)
lea    (%r9,%rsi,1),%ecx
mov    %ecx,0x48(%r15)
lea    (%rcx,%rsi,1),%eax
mov    %eax,0x4(%rsp)
mov    %eax,0x4c(%r15)
mov    $0x1,%r11d
lea    (%r12,%r11,8),%rax
mov    %rax,0x60(%rsp)
movslq 0x8(%rsp),%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x8(%rsp)
movslq 0x30(%rsp),%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x30(%rsp)
movslq 0x28(%rsp),%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x28(%rsp)
movslq 0x20(%rsp),%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x20(%rsp)
movslq 0x18(%rsp),%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x18(%rsp)
movslq 0x10(%rsp),%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x10(%rsp)
movslq %r13d,%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x58(%rsp)
movslq %r14d,%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x50(%rsp)
movslq %ebx,%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x48(%rsp)
movslq %edx,%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x40(%rsp)
movslq %r10d,%rax
lea    (%r12,%rax,8),%rax
mov    %rax,0x38(%rsp)
movslq %r8d,%rax
lea    (%r12,%rax,8),%r11
movslq %edi,%rax
lea    (%r12,%rax,8),%r13
movslq %r9d,%rax
lea    (%r12,%rax,8),%r14
movslq %ecx,%rcx
lea    (%r12,%rcx,8),%r10
movslq 0x4(%rsp),%rcx
lea    (%r12,%rcx,8),%r12
movslq %ebp,%rdi
lea    (%rdi,%rdi,1),%ecx
movslq %ecx,%rcx
mov    0xe8(%rsp),%rbx
lea    (%rbx,%rcx,4),%rbp
add    $0x54,%r15
lea    (%rbx,%rdi,4),%rax
sub    $0x8,%rsp
mov    0x70(%rsp),%rdx
mov    0x78(%rsp),%rcx
mov    0x80(%rsp),%r8
mov    0x88(%rsp),%r9
push   0x118(%rsp)
push   %r15
push   0x118(%rsp)
push   0x118(%rsp)
push   0x118(%rsp)
push   %rbp
push   %rax
push   %rbx
push   %r12
push   %r10
push   %r14
push   %r13
push   %r11
push   0xa8(%rsp)
push   0xb8(%rsp)
push   0xc8(%rsp)
push   0xd8(%rsp)
push   0xe8(%rsp)
push   0xa8(%rsp)
push   0xb8(%rsp)
push   0xc8(%rsp)
push   0xd8(%rsp)
push   0xe8(%rsp)
push   0xc8(%rsp)
push   0x128(%rsp)
push   0x1a8(%rsp)
push   0x1a8(%rsp)
push   0x1a8(%rsp)
push   0x1a8(%rsp)
call   1030 <mainlb_@plt>
add    $0xf0,%rsp
xor    %eax,%eax
add    $0x88,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
@.str = [6 x i8] c"START\00"
define i32 @setulb_(i32 %0, i32 %1, double* %2, double* %3, double* %4, i32* %5, double* %6, double* %7, double* %8, double* %9, double* %10, i32* %11, i8* %12, i8* %13, i32* %14, i32* %15, double* %16) {
%18 = getelementptr inbounds double, double* %10, i64 -1
%19 = tail call i64 @strncmp(i8* %12, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i32 5)
%20 = icmp eq i64 %19, 0
br i1 %20, label %57, label %21
21: ; preds = %17
%22 = getelementptr inbounds i32, i32* %15, i64 3
%23 = load i32, i32* %22
%24 = getelementptr inbounds i32, i32* %15, i64 4
%25 = load i32, i32* %24
%26 = getelementptr inbounds i32, i32* %15, i64 5
%27 = load i32, i32* %26
%28 = getelementptr inbounds i32, i32* %15, i64 6
%29 = load i32, i32* %28
%30 = getelementptr inbounds i32, i32* %15, i64 7
%31 = load i32, i32* %30
%32 = getelementptr inbounds i32, i32* %15, i64 8
%33 = load i32, i32* %32
%34 = getelementptr inbounds i32, i32* %15, i64 9
%35 = load i32, i32* %34
%36 = getelementptr inbounds i32, i32* %15, i64 10
%37 = load i32, i32* %36
%38 = getelementptr inbounds i32, i32* %15, i64 11
%39 = load i32, i32* %38
%40 = getelementptr inbounds i32, i32* %15, i64 12
%41 = load i32, i32* %40
%42 = getelementptr inbounds i32, i32* %15, i64 13
%43 = load i32, i32* %42
%44 = getelementptr inbounds i32, i32* %15, i64 14
%45 = load i32, i32* %44
%46 = getelementptr inbounds i32, i32* %15, i64 15
%47 = load i32, i32* %46
%48 = getelementptr inbounds i32, i32* %15, i64 16
%49 = load i32, i32* %48
%50 = getelementptr inbounds i32, i32* %15, i64 17
%51 = load i32, i32* %50
%52 = getelementptr inbounds i32, i32* %15, i64 18
%53 = load i32, i32* %52
%54 = getelementptr inbounds i32, i32* %15, i64 19
%55 = load i32, i32* %54
%56 = sext i32 %23 to i64
br label %97
57: ; preds = %17
%58 = mul nsw i32 %1, %0
store i32 %58, i32* %15
%59 = mul nsw i32 %1, %1
%60 = getelementptr inbounds i32, i32* %15, i64 1
store i32 %59, i32* %60
%61 = shl i32 %59, 2
%62 = getelementptr inbounds i32, i32* %15, i64 2
store i32 %61, i32* %62
%63 = getelementptr inbounds i32, i32* %15, i64 3
store i32 1, i32* %63
%64 = add nsw i32 %58, 1
%65 = getelementptr inbounds i32, i32* %15, i64 4
store i32 %64, i32* %65
%66 = add nsw i32 %64, %58
%67 = getelementptr inbounds i32, i32* %15, i64 5
store i32 %66, i32* %67
%68 = add nsw i32 %66, %59
%69 = getelementptr inbounds i32, i32* %15, i64 6
store i32 %68, i32* %69
%70 = add nsw i32 %68, %59
%71 = getelementptr inbounds i32, i32* %15, i64 7
store i32 %70, i32* %71
%72 = add nsw i32 %70, %59
%73 = getelementptr inbounds i32, i32* %15, i64 8
store i32 %72, i32* %73
%74 = add nsw i32 %72, %59
%75 = getelementptr inbounds i32, i32* %15, i64 9
store i32 %74, i32* %75
%76 = add nsw i32 %74, %61
%77 = getelementptr inbounds i32, i32* %15, i64 10
store i32 %76, i32* %77
%78 = add nsw i32 %76, %61
%79 = getelementptr inbounds i32, i32* %15, i64 11
store i32 %78, i32* %79
%80 = add nsw i32 %78, %0
%81 = getelementptr inbounds i32, i32* %15, i64 12
store i32 %80, i32* %81
%82 = add nsw i32 %80, %0
%83 = getelementptr inbounds i32, i32* %15, i64 13
store i32 %82, i32* %83
%84 = add nsw i32 %82, %0
%85 = getelementptr inbounds i32, i32* %15, i64 14
store i32 %84, i32* %85
%86 = add nsw i32 %84, %0
%87 = getelementptr inbounds i32, i32* %15, i64 15
store i32 %86, i32* %87
%88 = shl i32 %1, 3
%89 = add nsw i32 %86, %88
%90 = getelementptr inbounds i32, i32* %15, i64 16
store i32 %89, i32* %90
%91 = add nsw i32 %89, %1
%92 = getelementptr inbounds i32, i32* %15, i64 17
store i32 %91, i32* %92
%93 = add nsw i32 %91, %1
%94 = getelementptr inbounds i32, i32* %15, i64 18
store i32 %93, i32* %94
%95 = add nsw i32 %93, %1
%96 = getelementptr inbounds i32, i32* %15, i64 19
store i32 %95, i32* %96
br label %97
97: ; preds = %21, %57
%98 = phi i32 [ %55, %21 ], [ %95, %57 ]
%99 = phi i32 [ %53, %21 ], [ %93, %57 ]
%100 = phi i32 [ %51, %21 ], [ %91, %57 ]
%101 = phi i32 [ %49, %21 ], [ %89, %57 ]
%102 = phi i32 [ %47, %21 ], [ %86, %57 ]
%103 = phi i32 [ %45, %21 ], [ %84, %57 ]
%104 = phi i32 [ %43, %21 ], [ %82, %57 ]
%105 = phi i32 [ %41, %21 ], [ %80, %57 ]
%106 = phi i32 [ %39, %21 ], [ %78, %57 ]
%107 = phi i32 [ %37, %21 ], [ %76, %57 ]
%108 = phi i32 [ %35, %21 ], [ %74, %57 ]
%109 = phi i32 [ %33, %21 ], [ %72, %57 ]
%110 = phi i32 [ %31, %21 ], [ %70, %57 ]
%111 = phi i32 [ %29, %21 ], [ %68, %57 ]
%112 = phi i32 [ %27, %21 ], [ %66, %57 ]
%113 = phi i32 [ %25, %21 ], [ %64, %57 ]
%114 = phi i64 [ %56, %21 ], [ 1, %57 ]
%115 = getelementptr inbounds double, double* %18, i64 %114
%116 = sext i32 %113 to i64
%117 = getelementptr inbounds double, double* %18, i64 %116
%118 = sext i32 %112 to i64
%119 = getelementptr inbounds double, double* %18, i64 %118
%120 = sext i32 %111 to i64
%121 = getelementptr inbounds double, double* %18, i64 %120
%122 = sext i32 %110 to i64
%123 = getelementptr inbounds double, double* %18, i64 %122
%124 = sext i32 %109 to i64
%125 = getelementptr inbounds double, double* %18, i64 %124
%126 = sext i32 %108 to i64
%127 = getelementptr inbounds double, double* %18, i64 %126
%128 = sext i32 %107 to i64
%129 = getelementptr inbounds double, double* %18, i64 %128
%130 = sext i32 %106 to i64
%131 = getelementptr inbounds double, double* %18, i64 %130
%132 = sext i32 %105 to i64
%133 = getelementptr inbounds double, double* %18, i64 %132
%134 = sext i32 %104 to i64
%135 = getelementptr inbounds double, double* %18, i64 %134
%136 = sext i32 %103 to i64
%137 = getelementptr inbounds double, double* %18, i64 %136
%138 = sext i32 %102 to i64
%139 = getelementptr inbounds double, double* %18, i64 %138
%140 = sext i32 %101 to i64
%141 = getelementptr inbounds double, double* %18, i64 %140
%142 = sext i32 %100 to i64
%143 = getelementptr inbounds double, double* %18, i64 %142
%144 = sext i32 %99 to i64
%145 = getelementptr inbounds double, double* %18, i64 %144
%146 = sext i32 %98 to i64
%147 = getelementptr inbounds double, double* %18, i64 %146
%148 = sext i32 %0 to i64
%149 = getelementptr inbounds i32, i32* %11, i64 %148
%150 = shl nsw i32 %0, 1
%151 = sext i32 %150 to i64
%152 = getelementptr inbounds i32, i32* %11, i64 %151
%153 = getelementptr inbounds i32, i32* %15, i64 21
%154 = tail call i32 @mainlb_(i32 %0, i32 %1, double* %2, double* %3, double* %4, i32* %5, double* %6, double* %7, double* %8, double* %9, double* %115, double* %117, double* %119, double* %121, double* %123, double* %125, double* %127, double* %129, double* %131, double* %133, double* %135, double* %137, double* %139, double* %141, double* %143, double* %145, double* %147, i32* %11, i32* %149, i32* %152, i8* %12, i8* %13, i32* %14, i32* %153, double* %16)
ret i32 0
}