// File: /workspace/github_c_makefile_star2_O3/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 0xcaf0a
movq %rax, %r12
movq %r14, %rdi
callq 0x8460
movq %rax, 0xc40(%rbx)
testq %rax, %rax
je 0xcaf50
movq %r14, %rdi
callq 0x8460
movq %rax, 0xc50(%rbx)
testq %rax, %rax
je 0xcaf93
movslq 0xc68(%rbx), %r14
imulq %r15, %r14
leaq (,%r14,8), %rdi
callq 0x8460
movq %rax, 0xc60(%rbx)
testq %rax, %rax
je 0xcaff5
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 0x1577e
cmpl $0x1, %eax
jne 0xcb03b
leaq 0x2351a(%rip), %rsi     # 0xee3f0
leaq 0x5c9f0(%rip), %rdx     # 0x1278cd
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x2313e(%rip), %rsi     # 0xee034
leaq 0x5c985(%rip), %rdx     # 0x127882
movq %r14, %rdi
movl $0x5ed, %ecx            # imm = 0x5ED
jmp 0xcb11b
shll $0x3, %r15d
leaq 0x230ef(%rip), %rsi     # 0xee004
leaq 0x5c955(%rip), %rdx     # 0x127871
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30af0
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x230f8(%rip), %rsi     # 0xee034
leaq 0x5c93f(%rip), %rdx     # 0x127882
movq %rbx, %rdi
movl $0x5d9, %ecx            # imm = 0x5D9
jmp 0xcafd4
shll $0x3, %r15d
leaq 0x230a9(%rip), %rsi     # 0xee004
leaq 0x5c93b(%rip), %rdx     # 0x12789d
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30af0
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x230b2(%rip), %rsi     # 0xee034
leaq 0x5c8f9(%rip), %rdx     # 0x127882
movq %rbx, %rdi
movl $0x5dc, %ecx            # imm = 0x5DC
jmp 0xcafd4
shll $0x3, %r15d
leaq 0x23066(%rip), %rsi     # 0xee004
leaq 0x5c909(%rip), %rdx     # 0x1278ae
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30af0
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x2306f(%rip), %rsi     # 0xee034
leaq 0x5c8b6(%rip), %rdx     # 0x127882
movq %rbx, %rdi
movl $0x5df, %ecx            # imm = 0x5DF
movq %r14, %r8
xorl %eax, %eax
callq 0x30af0
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 0x23004(%rip), %rsi     # 0xee004
leaq 0x5c8b9(%rip), %rdx     # 0x1278c0
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl %r14d, %ecx
xorl %eax, %eax
callq 0x30af0
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x2300d(%rip), %rsi     # 0xee034
leaq 0x5c854(%rip), %rdx     # 0x127882
movq %rbx, %rdi
movl $0x5e2, %ecx            # imm = 0x5E2
movq %r15, %r8
jmp 0xcafd7
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 0x1577e
cmpl $0x1, %eax
jne 0xcb0ac
leaq 0x23375(%rip), %rsi     # 0xee3f0
leaq 0x5c8c5(%rip), %rdx     # 0x127947
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x22f99(%rip), %rsi     # 0xee034
leaq 0x5c7e0(%rip), %rdx     # 0x127882
movq %r14, %rdi
movl $0x5f6, %ecx            # imm = 0x5F6
jmp 0xcb11b
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 0x1577e
cmpl $0x1, %eax
jne 0xcb12a
leaq 0x23304(%rip), %rsi     # 0xee3f0
leaq 0x5c8ce(%rip), %rdx     # 0x1279c1
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x22f28(%rip), %rsi     # 0xee034
leaq 0x5c76f(%rip), %rdx     # 0x127882
movq %r14, %rdi
movl $0x5ff, %ecx            # imm = 0x5FF
movq %rbx, %r8
xorl %eax, %eax
callq 0x30af0
jmp 0xcafe3
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 0x1577e
xorl %ebp, %ebp
cmpl $0x1, %eax
jne 0xcafe3
leaq 0x23284(%rip), %rsi     # 0xee3f0
leaq 0x5c8ca(%rip), %rdx     # 0x127a3d
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x22ea8(%rip), %rsi     # 0xee034
leaq 0x5c6ef(%rip), %rdx     # 0x127882
movq %r14, %rdi
movl $0x608, %ecx            # imm = 0x608
movq %rbx, %r8
jmp 0xcafd7