// File: /workspace/github_c_makefile_star2_O1/PoulinV[P]AxiCLASS/build/../source/distortions.c
// Function: distortions_spline_br_data
int distortions_spline_br_data(struct distortions* psd){

  /** Allocate second derivatives */
  class_alloc(psd->ddf_g_exact,
              psd->br_exact_Nz*sizeof(double),
              psd->error_message);
  class_alloc(psd->ddf_y_exact,
              psd->br_exact_Nz*sizeof(double),
              psd->error_message);
  class_alloc(psd->ddf_mu_exact,
              psd->br_exact_Nz*sizeof(double),
              psd->error_message);
  class_alloc(psd->ddE_vec,
              psd->E_vec_size*psd->br_exact_Nz*sizeof(double),
              psd->error_message);

  /** Spline branching ratios */
  class_call(array_spline_table_columns(psd->br_exact_z,
                                        psd->br_exact_Nz,
                                        psd->f_g_exact,
                                        1,
                                        psd->ddf_g_exact,
                                        _SPLINE_EST_DERIV_,
                                        psd->error_message),
             psd->error_message,
             psd->error_message);
  class_call(array_spline_table_columns(psd->br_exact_z,
                                        psd->br_exact_Nz,
                                        psd->f_y_exact,
                                        1,
                                        psd->ddf_y_exact,
                                        _SPLINE_EST_DERIV_,
                                        psd->error_message),
             psd->error_message,
             psd->error_message);
  class_call(array_spline_table_columns(psd->br_exact_z,
                                        psd->br_exact_Nz,
                                        psd->f_mu_exact,
                                        1,
                                        psd->ddf_mu_exact,
                                        _SPLINE_EST_DERIV_,
                                        psd->error_message),
             psd->error_message,
             psd->error_message);
  class_call(array_spline_table_columns(psd->br_exact_z,
                                        psd->br_exact_Nz,
                                        psd->E_vec,
                                        psd->E_vec_size,
                                        psd->ddE_vec,
                                        _SPLINE_EST_DERIV_,
                                        psd->error_message),
             psd->error_message,
             psd->error_message);

  return _SUCCESS_;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x810, %rsp            # imm = 0x810
movq %rdi, %rbx
movslq 0xc20(%rdi), %r15
leaq (,%r15,8), %r14
movq %r14, %rdi
callq 0x8460
movq %rax, 0xc30(%rbx)
testq %rax, %rax
je 0xce77a
movq %rax, %r12
movq %r14, %rdi
callq 0x8460
movq %rax, 0xc40(%rbx)
testq %rax, %rax
je 0xce7c0
movq %r14, %rdi
callq 0x8460
movq %rax, 0xc50(%rbx)
testq %rax, %rax
je 0xce803
movslq 0xc68(%rbx), %r14
imulq %r15, %r14
leaq (,%r14,8), %rdi
callq 0x8460
movq %rax, 0xc60(%rbx)
testq %rax, %rax
je 0xce865
movq 0xc18(%rbx), %rdi
movq 0xc28(%rbx), %rdx
leaq 0x1602(%rbx), %r14
movq %r14, (%rsp)
movl $0x1, %ebp
movl %r15d, %esi
movl $0x1, %ecx
movq %r12, %r8
movl $0x1, %r9d
callq 0x15654
cmpl $0x1, %eax
jne 0xce8ab
leaq 0x22caa(%rip), %rsi     # 0xf13f0
leaq 0x5c158(%rip), %rdx     # 0x12a8a5
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x228ce(%rip), %rsi     # 0xf1034
leaq 0x5c0ed(%rip), %rdx     # 0x12a85a
movq %r14, %rdi
movl $0x5ed, %ecx            # imm = 0x5ED
jmp 0xce98b
shll $0x3, %r15d
leaq 0x2287f(%rip), %rsi     # 0xf1004
leaq 0x5c0bd(%rip), %rdx     # 0x12a849
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x22888(%rip), %rsi     # 0xf1034
leaq 0x5c0a7(%rip), %rdx     # 0x12a85a
movq %rbx, %rdi
movl $0x5d9, %ecx            # imm = 0x5D9
jmp 0xce844
shll $0x3, %r15d
leaq 0x22839(%rip), %rsi     # 0xf1004
leaq 0x5c0a3(%rip), %rdx     # 0x12a875
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x22842(%rip), %rsi     # 0xf1034
leaq 0x5c061(%rip), %rdx     # 0x12a85a
movq %rbx, %rdi
movl $0x5dc, %ecx            # imm = 0x5DC
jmp 0xce844
shll $0x3, %r15d
leaq 0x227f6(%rip), %rsi     # 0xf1004
leaq 0x5c071(%rip), %rdx     # 0x12a886
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x227ff(%rip), %rsi     # 0xf1034
leaq 0x5c01e(%rip), %rdx     # 0x12a85a
movq %rbx, %rdi
movl $0x5df, %ecx            # imm = 0x5DF
movq %r14, %r8
xorl %eax, %eax
callq 0x30c2c
movl $0x1, %ebp
movl %ebp, %eax
addq $0x810, %rsp            # imm = 0x810
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
shll $0x3, %r14d
leaq 0x22794(%rip), %rsi     # 0xf1004
leaq 0x5c021(%rip), %rdx     # 0x12a898
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl %r14d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x2279d(%rip), %rsi     # 0xf1034
leaq 0x5bfbc(%rip), %rdx     # 0x12a85a
movq %rbx, %rdi
movl $0x5e2, %ecx            # imm = 0x5E2
movq %r15, %r8
jmp 0xce847
movq 0xc18(%rbx), %rdi
movl 0xc20(%rbx), %esi
movq 0xc38(%rbx), %rdx
movq 0xc40(%rbx), %r8
movq %r14, (%rsp)
movl $0x1, %ebp
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x15654
cmpl $0x1, %eax
jne 0xce91c
leaq 0x22b05(%rip), %rsi     # 0xf13f0
leaq 0x5c02d(%rip), %rdx     # 0x12a91f
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x22729(%rip), %rsi     # 0xf1034
leaq 0x5bf48(%rip), %rdx     # 0x12a85a
movq %r14, %rdi
movl $0x5f6, %ecx            # imm = 0x5F6
jmp 0xce98b
movq 0xc18(%rbx), %rdi
movl 0xc20(%rbx), %esi
movq 0xc48(%rbx), %rdx
movq 0xc50(%rbx), %r8
movq %r14, (%rsp)
movl $0x1, %ebp
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x15654
cmpl $0x1, %eax
jne 0xce99a
leaq 0x22a94(%rip), %rsi     # 0xf13f0
leaq 0x5c036(%rip), %rdx     # 0x12a999
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x226b8(%rip), %rsi     # 0xf1034
leaq 0x5bed7(%rip), %rdx     # 0x12a85a
movq %r14, %rdi
movl $0x5ff, %ecx            # imm = 0x5FF
movq %rbx, %r8
xorl %eax, %eax
callq 0x30c2c
jmp 0xce853
movq 0xc18(%rbx), %rdi
movl 0xc20(%rbx), %esi
movq 0xc58(%rbx), %rdx
movl 0xc68(%rbx), %ecx
movq 0xc60(%rbx), %r8
movq %r14, (%rsp)
movl $0x1, %r9d
callq 0x15654
xorl %ebp, %ebp
cmpl $0x1, %eax
jne 0xce853
leaq 0x22a14(%rip), %rsi     # 0xf13f0
leaq 0x5c032(%rip), %rdx     # 0x12aa15
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x22638(%rip), %rsi     # 0xf1034
leaq 0x5be57(%rip), %rdx     # 0x12a85a
movq %r14, %rdi
movl $0x608, %ecx            # imm = 0x608
movq %rbx, %r8
jmp 0xce847