// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../tools/dei_rkck.c
// Function: initialize_generic_integrator
int initialize_generic_integrator(
				  int n_dim,
				  struct generic_integrator_workspace * pgi){

  /** - Allocate workspace dynamically */

  pgi->n = n_dim;

  class_alloc(pgi->yscal,
	      sizeof(double)*n_dim,
	      pgi->error_message);
  class_alloc(pgi->y,
	      sizeof(double)*n_dim,
	      pgi->error_message);
  class_alloc(pgi->dydx,
	      sizeof(double)*n_dim,
	      pgi->error_message);

  class_alloc(pgi->yerr,
	      sizeof(double)*n_dim,
	      pgi->error_message);
  class_alloc(pgi->ytempo,
	      sizeof(double)*n_dim,
	      pgi->error_message);

  class_alloc(pgi->ak2,
	      sizeof(double)*n_dim,
	      pgi->error_message);
  class_alloc(pgi->ak3,
	      sizeof(double)*n_dim,
	      pgi->error_message);
  class_alloc(pgi->ak4,
	      sizeof(double)*n_dim,
	      pgi->error_message);
  class_alloc(pgi->ak5,
	      sizeof(double)*n_dim,
	      pgi->error_message);
  class_alloc(pgi->ak6,
	      sizeof(double)*n_dim,
	      pgi->error_message);
  class_alloc(pgi->ytemp,
	      sizeof(double)*n_dim,
	      pgi->error_message);

  return _SUCCESS_;
}

// Assembly:
subq $0x58b8, %rsp           # imm = 0x58B8
movl %edi, 0x58b0(%rsp)
movq %rsi, 0x58a8(%rsp)
movl 0x58b0(%rsp), %ecx
movq 0x58a8(%rsp), %rax
movl %ecx, (%rax)
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x90bb
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x58a4(%rsp)
leaq 0x50a0(%rsp), %rdi
movl 0x58a4(%rsp), %ecx
leaq 0x1c8f95(%rip), %rsi    # 0x1d2004
leaq 0x1c92da(%rip), %rdx    # 0x1d2350
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x50a0(%rsp), %r8
leaq 0x1c8f9c(%rip), %rsi    # 0x1d2034
leaq 0x1c92bc(%rip), %rdx    # 0x1d235b
movl $0x11, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x915f
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x509c(%rsp)
leaq 0x4890(%rsp), %rdi
movl 0x509c(%rsp), %ecx
leaq 0x1c8ef1(%rip), %rsi    # 0x1d2004
leaq 0x1c925f(%rip), %rdx    # 0x1d2379
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x4890(%rsp), %r8
leaq 0x1c8ef8(%rip), %rsi    # 0x1d2034
leaq 0x1c9218(%rip), %rdx    # 0x1d235b
movl $0x14, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x9203
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x488c(%rsp)
leaq 0x4080(%rsp), %rdi
movl 0x488c(%rsp), %ecx
leaq 0x1c8e4d(%rip), %rsi    # 0x1d2004
leaq 0x1c91c2(%rip), %rdx    # 0x1d2380
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x4080(%rsp), %r8
leaq 0x1c8e54(%rip), %rsi    # 0x1d2034
leaq 0x1c9174(%rip), %rdx    # 0x1d235b
movl $0x17, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x92a7
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x407c(%rsp)
leaq 0x3870(%rsp), %rdi
movl 0x407c(%rsp), %ecx
leaq 0x1c8da9(%rip), %rsi    # 0x1d2004
leaq 0x1c9128(%rip), %rdx    # 0x1d238a
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x3870(%rsp), %r8
leaq 0x1c8db0(%rip), %rsi    # 0x1d2034
leaq 0x1c90d0(%rip), %rdx    # 0x1d235b
movl $0x1b, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x28(%rax)
jne 0x934b
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x386c(%rsp)
leaq 0x3060(%rsp), %rdi
movl 0x386c(%rsp), %ecx
leaq 0x1c8d05(%rip), %rsi    # 0x1d2004
leaq 0x1c908e(%rip), %rdx    # 0x1d2394
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x3060(%rsp), %r8
leaq 0x1c8d0c(%rip), %rsi    # 0x1d2034
leaq 0x1c902c(%rip), %rdx    # 0x1d235b
movl $0x1e, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x93ef
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x305c(%rsp)
leaq 0x2850(%rsp), %rdi
movl 0x305c(%rsp), %ecx
leaq 0x1c8c61(%rip), %rsi    # 0x1d2004
leaq 0x1c8ff6(%rip), %rdx    # 0x1d23a0
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x2850(%rsp), %r8
leaq 0x1c8c68(%rip), %rsi    # 0x1d2034
leaq 0x1c8f88(%rip), %rdx    # 0x1d235b
movl $0x22, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x9493
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x284c(%rsp)
leaq 0x2040(%rsp), %rdi
movl 0x284c(%rsp), %ecx
leaq 0x1c8bbd(%rip), %rsi    # 0x1d2004
leaq 0x1c8f5b(%rip), %rdx    # 0x1d23a9
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x2040(%rsp), %r8
leaq 0x1c8bc4(%rip), %rsi    # 0x1d2034
leaq 0x1c8ee4(%rip), %rdx    # 0x1d235b
movl $0x25, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x40(%rax)
jne 0x9537
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x203c(%rsp)
leaq 0x1830(%rsp), %rdi
movl 0x203c(%rsp), %ecx
leaq 0x1c8b19(%rip), %rsi    # 0x1d2004
leaq 0x1c8ec0(%rip), %rdx    # 0x1d23b2
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x1830(%rsp), %r8
leaq 0x1c8b20(%rip), %rsi    # 0x1d2034
leaq 0x1c8e40(%rip), %rdx    # 0x1d235b
movl $0x28, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x48(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x48(%rax)
jne 0x95db
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x182c(%rsp)
leaq 0x1020(%rsp), %rdi
movl 0x182c(%rsp), %ecx
leaq 0x1c8a75(%rip), %rsi    # 0x1d2004
leaq 0x1c8e25(%rip), %rdx    # 0x1d23bb
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x1020(%rsp), %r8
leaq 0x1c8a7c(%rip), %rsi    # 0x1d2034
leaq 0x1c8d9c(%rip), %rdx    # 0x1d235b
movl $0x2b, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x50(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x50(%rax)
jne 0x967f
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x101c(%rsp)
leaq 0x810(%rsp), %rdi
movl 0x101c(%rsp), %ecx
leaq 0x1c89d1(%rip), %rsi    # 0x1d2004
leaq 0x1c8d8a(%rip), %rdx    # 0x1d23c4
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
leaq 0x810(%rsp), %r8
leaq 0x1c89d8(%rip), %rsi    # 0x1d2034
leaq 0x1c8cf8(%rip), %rdx    # 0x1d235b
movl $0x2e, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movslq 0x58b0(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x58a8(%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0x58a8(%rsp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x9716
movslq 0x58b0(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x80c(%rsp)
movq %rsp, %rdi
movl 0x80c(%rsp), %ecx
leaq 0x1c8932(%rip), %rsi    # 0x1d2004
leaq 0x1c8cf4(%rip), %rdx    # 0x1d23cd
movb $0x0, %al
callq 0x5b9c0
movq 0x58a8(%rsp), %rdi
addq $0x68, %rdi
movq %rsp, %r8
leaq 0x1c893e(%rip), %rsi    # 0x1d2034
leaq 0x1c8c5e(%rip), %rdx    # 0x1d235b
movl $0x31, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x58b4(%rsp)
jmp 0x9721
movl $0x0, 0x58b4(%rsp)
movl 0x58b4(%rsp), %eax
addq $0x58b8, %rsp           # imm = 0x58B8
retq