// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../tools/dei_rkck.c
// Function: rkck
int rkck(
	 double x,
	 double h,
	 int (*derivs)(double, double [], double [], void * parameters_and_workspace, ErrorMsg error_message),
	 void * parameters_and_workspace_for_derivs,
	 struct generic_integrator_workspace * pgi)
{
  int i;

  for (i=0;i<pgi->n;i++)
    pgi->ytemp[i]=pgi->y[i]+_RKCK_b21_*h*pgi->dydx[i];

  class_call((*derivs)(x+_RKCK_a2_*h,
		       pgi->ytemp,
		       pgi->ak2,
		       parameters_and_workspace_for_derivs,
		       pgi->error_message),
	     pgi->error_message,
	     pgi->error_message);

  for (i=0;i<pgi->n;i++)
    pgi->ytemp[i]=pgi->y[i]+h*(_RKCK_b31_*pgi->dydx[i]+_RKCK_b32_*pgi->ak2[i]);

  class_call((*derivs)(x+_RKCK_a3_*h,
		       pgi->ytemp,
		       pgi->ak3,
		       parameters_and_workspace_for_derivs,
		       pgi->error_message),
	     pgi->error_message,
	     pgi->error_message);

  for (i=0;i<pgi->n;i++)
    pgi->ytemp[i]=pgi->y[i]+h*(_RKCK_b41_*pgi->dydx[i]+_RKCK_b42_*pgi->ak2[i]+_RKCK_b43_*pgi->ak3[i]);

  class_call((*derivs)(x+_RKCK_a4_*h,
		       pgi->ytemp,
		       pgi->ak4,
		       parameters_and_workspace_for_derivs,
		       pgi->error_message),
	     pgi->error_message,
	     pgi->error_message);

  for (i=0;i<pgi->n;i++)
    pgi->ytemp[i]=pgi->y[i]+h*(_RKCK_b51_*pgi->dydx[i]+_RKCK_b52_*pgi->ak2[i]+_RKCK_b53_*pgi->ak3[i]+_RKCK_b54_*pgi->ak4[i]);

  class_call((*derivs)(x+_RKCK_a5_*h,
		       pgi->ytemp,
		       pgi->ak5,parameters_and_workspace_for_derivs,
		       pgi->error_message),
	     pgi->error_message,
	     pgi->error_message);

  for (i=0;i<pgi->n;i++)
    pgi->ytemp[i]=pgi->y[i]+h*(_RKCK_b61_*pgi->dydx[i]+_RKCK_b62_*pgi->ak2[i]+_RKCK_b63_*pgi->ak3[i]+_RKCK_b64_*pgi->ak4[i]+_RKCK_b65_*pgi->ak5[i]);

  class_call((*derivs)(x+_RKCK_a6_*h,
		       pgi->ytemp,
		       pgi->ak6,
		       parameters_and_workspace_for_derivs,
		       pgi->error_message),
	     pgi->error_message,
	     pgi->error_message);

  for (i=0;i<pgi->n;i++)
    pgi->ytemp[i]=pgi->y[i]+h*(_RKCK_c1_*pgi->dydx[i]+_RKCK_c3_*pgi->ak3[i]+_RKCK_c4_*pgi->ak4[i]+_RKCK_c6_*pgi->ak6[i]);

  for (i=0;i<pgi->n;i++)
    pgi->yerr[i]=h*(_RKCK_dc1_*pgi->dydx[i]+_RKCK_dc3_*pgi->ak3[i]+_RKCK_dc4_*pgi->ak4[i]+_RKCK_dc5_*pgi->ak5[i]+_RKCK_dc6_*pgi->ak6[i]);

  return _SUCCESS_;
}

// Assembly:
subq $0x2838, %rsp           # imm = 0x2838
movsd %xmm0, 0x2828(%rsp)
movsd %xmm1, 0x2820(%rsp)
movq %rdi, 0x2818(%rsp)
movq %rsi, 0x2810(%rsp)
movq %rdx, 0x2808(%rsp)
movl $0x0, 0x2804(%rsp)
movl 0x2804(%rsp), %eax
movq 0x2808(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xa3a9
movq 0x2808(%rsp), %rax
movq 0x10(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x1c7f30(%rip), %xmm0   # 0x1d2280
mulsd 0x2820(%rsp), %xmm0
movq 0x2808(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rax
movq 0x58(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x2804(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2804(%rsp)
jmp 0xa31c
movq 0x2818(%rsp), %rax
movsd 0x2828(%rsp), %xmm1
movsd 0x2820(%rsp), %xmm0
movsd 0x1c7eb5(%rip), %xmm2   # 0x1d2280
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rcx
movq 0x58(%rcx), %rdi
movq 0x2808(%rsp), %rcx
movq 0x30(%rcx), %rsi
movq 0x2810(%rsp), %rdx
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
callq *%rax
cmpl $0x1, %eax
jne 0xa46d
leaq 0x2000(%rsp), %rdi
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
leaq 0x1c7fb7(%rip), %rsi    # 0x1d23d8
leaq 0x1c81b4(%rip), %rdx    # 0x1d25dc
movb $0x0, %al
callq 0x5b9c0
movq 0x2808(%rsp), %rdi
addq $0x68, %rdi
leaq 0x2000(%rsp), %r8
leaq 0x1c7bea(%rip), %rsi    # 0x1d2034
leaq 0x1c81ed(%rip), %rdx    # 0x1d263e
movl $0xb8, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x2834(%rsp)
jmp 0xadb6
movl $0x0, 0x2804(%rsp)
movl 0x2804(%rsp), %eax
movq 0x2808(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xa532
movq 0x2808(%rsp), %rax
movq 0x10(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x2820(%rsp), %xmm0
movq 0x2808(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq 0x2808(%rsp), %rax
movq 0x30(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd 0x1c7e62(%rip), %xmm3   # 0x1d2348
mulsd (%rax,%rcx,8), %xmm3
movsd 0x1c7e4d(%rip), %xmm4   # 0x1d2340
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rax
movq 0x58(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x2804(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2804(%rsp)
jmp 0xa478
movq 0x2818(%rsp), %rax
movsd 0x2828(%rsp), %xmm1
movsd 0x2820(%rsp), %xmm0
movsd 0x1c7d34(%rip), %xmm2   # 0x1d2288
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rcx
movq 0x58(%rcx), %rdi
movq 0x2808(%rsp), %rcx
movq 0x38(%rcx), %rsi
movq 0x2810(%rsp), %rdx
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
callq *%rax
cmpl $0x1, %eax
jne 0xa5f6
leaq 0x1800(%rsp), %rdi
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
leaq 0x1c7e2e(%rip), %rsi    # 0x1d23d8
leaq 0x1c8092(%rip), %rdx    # 0x1d2643
movb $0x0, %al
callq 0x5b9c0
movq 0x2808(%rsp), %rdi
addq $0x68, %rdi
leaq 0x1800(%rsp), %r8
leaq 0x1c7a61(%rip), %rsi    # 0x1d2034
leaq 0x1c8064(%rip), %rdx    # 0x1d263e
movl $0xc3, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x2834(%rsp)
jmp 0xadb6
movl $0x0, 0x2804(%rsp)
movl 0x2804(%rsp), %eax
movq 0x2808(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xa6e4
movq 0x2808(%rsp), %rax
movq 0x10(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x2820(%rsp), %xmm0
movq 0x2808(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq 0x2808(%rsp), %rax
movq 0x30(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd 0x1c7cc9(%rip), %xmm2   # 0x1d2338
mulsd (%rax,%rcx,8), %xmm2
movsd 0x1c7c0c(%rip), %xmm4   # 0x1d2288
mulsd %xmm4, %xmm3
addsd %xmm2, %xmm3
movq 0x2808(%rsp), %rax
movq 0x38(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0x1c7c8b(%rip), %xmm4   # 0x1d2330
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rax
movq 0x58(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x2804(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2804(%rsp)
jmp 0xa601
movq 0x2818(%rsp), %rax
movsd 0x2828(%rsp), %xmm1
movsd 0x2820(%rsp), %xmm0
movsd 0x1c7b8a(%rip), %xmm2   # 0x1d2290
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rcx
movq 0x58(%rcx), %rdi
movq 0x2808(%rsp), %rcx
movq 0x40(%rcx), %rsi
movq 0x2810(%rsp), %rdx
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
callq *%rax
cmpl $0x1, %eax
jne 0xa7a8
leaq 0x1000(%rsp), %rdi
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
leaq 0x1c7c7c(%rip), %rsi    # 0x1d23d8
leaq 0x1c7f42(%rip), %rdx    # 0x1d26a5
movb $0x0, %al
callq 0x5b9c0
movq 0x2808(%rsp), %rdi
addq $0x68, %rdi
leaq 0x1000(%rsp), %r8
leaq 0x1c78af(%rip), %rsi    # 0x1d2034
leaq 0x1c7eb2(%rip), %rdx    # 0x1d263e
movl $0xce, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x2834(%rsp)
jmp 0xadb6
movl $0x0, 0x2804(%rsp)
movl 0x2804(%rsp), %eax
movq 0x2808(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xa8bf
movq 0x2808(%rsp), %rax
movq 0x10(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x2820(%rsp), %xmm0
movq 0x2808(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq 0x2808(%rsp), %rax
movq 0x30(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd 0x1c7b07(%rip), %xmm3   # 0x1d2328
mulsd (%rax,%rcx,8), %xmm3
movsd 0x1c7af2(%rip), %xmm4   # 0x1d2320
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
movq 0x2808(%rsp), %rax
movq 0x38(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm3
movsd 0x1c7ac1(%rip), %xmm4   # 0x1d2318
mulsd %xmm4, %xmm3
addsd %xmm2, %xmm3
movq 0x2808(%rsp), %rax
movq 0x40(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0x1c7a90(%rip), %xmm4   # 0x1d2310
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rax
movq 0x58(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x2804(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2804(%rsp)
jmp 0xa7b3
movq 0x2818(%rsp), %rax
movsd 0x2828(%rsp), %xmm1
movsd 0x2820(%rsp), %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rcx
movq 0x58(%rcx), %rdi
movq 0x2808(%rsp), %rcx
movq 0x48(%rcx), %rsi
movq 0x2810(%rsp), %rdx
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
callq *%rax
cmpl $0x1, %eax
jne 0xa977
leaq 0x800(%rsp), %rdi
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
leaq 0x1c7aad(%rip), %rsi    # 0x1d23d8
leaq 0x1c7dd5(%rip), %rdx    # 0x1d2707
movb $0x0, %al
callq 0x5b9c0
movq 0x2808(%rsp), %rdi
addq $0x68, %rdi
leaq 0x800(%rsp), %r8
leaq 0x1c76e0(%rip), %rsi    # 0x1d2034
leaq 0x1c7ce3(%rip), %rdx    # 0x1d263e
movl $0xd8, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x2834(%rsp)
jmp 0xadb6
movl $0x0, 0x2804(%rsp)
movl 0x2804(%rsp), %eax
movq 0x2808(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xaab7
movq 0x2808(%rsp), %rax
movq 0x10(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x2820(%rsp), %xmm0
movq 0x2808(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq 0x2808(%rsp), %rax
movq 0x30(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd 0x1c7918(%rip), %xmm2   # 0x1d2308
mulsd (%rax,%rcx,8), %xmm2
movsd 0x1c7903(%rip), %xmm4   # 0x1d2300
mulsd %xmm4, %xmm3
addsd %xmm2, %xmm3
movq 0x2808(%rsp), %rax
movq 0x38(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0x1c78d2(%rip), %xmm4   # 0x1d22f8
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
movq 0x2808(%rsp), %rax
movq 0x40(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm3
movsd 0x1c78a1(%rip), %xmm4   # 0x1d22f0
mulsd %xmm4, %xmm3
addsd %xmm2, %xmm3
movq 0x2808(%rsp), %rax
movq 0x48(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0x1c7870(%rip), %xmm4   # 0x1d22e8
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rax
movq 0x58(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x2804(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2804(%rsp)
jmp 0xa982
movq 0x2818(%rsp), %rax
movsd 0x2828(%rsp), %xmm1
movsd 0x2820(%rsp), %xmm0
movsd 0x1c77bf(%rip), %xmm2   # 0x1d2298
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rcx
movq 0x58(%rcx), %rdi
movq 0x2808(%rsp), %rcx
movq 0x50(%rcx), %rsi
movq 0x2810(%rsp), %rdx
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
callq *%rax
cmpl $0x1, %eax
jne 0xab71
movq %rsp, %rdi
movq 0x2808(%rsp), %rcx
addq $0x68, %rcx
leaq 0x1c78ae(%rip), %rsi    # 0x1d23d8
leaq 0x1c7c37(%rip), %rdx    # 0x1d2768
movb $0x0, %al
callq 0x5b9c0
movq 0x2808(%rsp), %rdi
addq $0x68, %rdi
movq %rsp, %r8
leaq 0x1c74e6(%rip), %rsi    # 0x1d2034
leaq 0x1c7ae9(%rip), %rdx    # 0x1d263e
movl $0xe3, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x2834(%rsp)
jmp 0xadb6
movl $0x0, 0x2804(%rsp)
movl 0x2804(%rsp), %eax
movq 0x2808(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xac88
movq 0x2808(%rsp), %rax
movq 0x10(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x2820(%rsp), %xmm0
movq 0x2808(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq 0x2808(%rsp), %rax
movq 0x38(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd 0x1c76f6(%rip), %xmm3   # 0x1d22e0
mulsd (%rax,%rcx,8), %xmm3
movsd 0x1c76e1(%rip), %xmm4   # 0x1d22d8
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
movq 0x2808(%rsp), %rax
movq 0x40(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm3
movsd 0x1c76b0(%rip), %xmm4   # 0x1d22d0
mulsd %xmm4, %xmm3
addsd %xmm2, %xmm3
movq 0x2808(%rsp), %rax
movq 0x50(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0x1c767f(%rip), %xmm4   # 0x1d22c8
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x2808(%rsp), %rax
movq 0x58(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x2804(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2804(%rsp)
jmp 0xab7c
movl $0x0, 0x2804(%rsp)
movl 0x2804(%rsp), %eax
movq 0x2808(%rsp), %rcx
cmpl (%rcx), %eax
jge 0xadab
movsd 0x2820(%rsp), %xmm0
movq 0x2808(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq 0x2808(%rsp), %rax
movq 0x38(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd 0x1c75d8(%rip), %xmm1   # 0x1d22c0
mulsd (%rax,%rcx,8), %xmm1
movsd 0x1c75c3(%rip), %xmm3   # 0x1d22b8
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
movq 0x2808(%rsp), %rax
movq 0x40(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x1c7592(%rip), %xmm3   # 0x1d22b0
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movq 0x2808(%rsp), %rax
movq 0x48(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
movsd 0x1c7561(%rip), %xmm3   # 0x1d22a8
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
movq 0x2808(%rsp), %rax
movq 0x50(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x1c7530(%rip), %xmm3   # 0x1d22a0
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movq 0x2808(%rsp), %rax
movq 0x20(%rax), %rax
movslq 0x2804(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x2804(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2804(%rsp)
jmp 0xac93
movl $0x0, 0x2834(%rsp)
movl 0x2834(%rsp), %eax
addq $0x2838, %rsp           # imm = 0x2838
retq
nopw %cs:(%rax,%rax)
nop