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

  /** Allocate second derivatievs */
  class_alloc(psd->ddPCA_G_T,
              psd->PCA_Nnu*sizeof(double),
              psd->error_message);
  class_alloc(psd->ddPCA_Y_SZ,
              psd->PCA_Nnu*sizeof(double),
              psd->error_message);
  class_alloc(psd->ddPCA_M_mu,
              psd->PCA_Nnu*sizeof(double),
              psd->error_message);
  class_alloc(psd->ddS_vec,
              psd->S_vec_size*psd->PCA_Nnu*sizeof(double),
              psd->error_message);

  /** Spline branching ratios */
  class_call(array_spline_table_columns(psd->PCA_nu,
                                        psd->PCA_Nnu,
                                        psd->PCA_G_T,
                                        1,
                                        psd->ddPCA_G_T,
                                        _SPLINE_EST_DERIV_,
                                        psd->error_message),
             psd->error_message,
             psd->error_message);
  class_call(array_spline_table_columns(psd->PCA_nu,
                                        psd->PCA_Nnu,
                                        psd->PCA_Y_SZ,
                                        1,
                                        psd->ddPCA_Y_SZ,
                                        _SPLINE_EST_DERIV_,
                                        psd->error_message),
             psd->error_message,
             psd->error_message);
  class_call(array_spline_table_columns(psd->PCA_nu,
                                        psd->PCA_Nnu,
                                        psd->PCA_M_mu,
                                        1,
                                        psd->ddPCA_M_mu,
                                        _SPLINE_EST_DERIV_,
                                        psd->error_message),
             psd->error_message,
             psd->error_message);
  class_call(array_spline_table_columns(psd->PCA_nu,
                                        psd->PCA_Nnu,
                                        psd->S_vec,
                                        psd->S_vec_size,
                                        psd->ddS_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 0xc78(%rdi), %r15
leaq (,%r15,8), %r14
movq %r14, %rdi
callq 0x8460
movq %rax, 0xc88(%rbx)
testq %rax, %rax
je 0xcbd20
movq %rax, %r12
movq %r14, %rdi
callq 0x8460
movq %rax, 0xc98(%rbx)
testq %rax, %rax
je 0xcbd66
movq %r14, %rdi
callq 0x8460
movq %rax, 0xca8(%rbx)
testq %rax, %rax
je 0xcbda9
movslq 0xcc0(%rbx), %r14
imulq %r15, %r14
leaq (,%r14,8), %rdi
callq 0x8460
movq %rax, 0xcb8(%rbx)
testq %rax, %rax
je 0xcbe0b
movq 0xc70(%rbx), %rdi
movq 0xc80(%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 0xcbe51
leaq 0x22704(%rip), %rsi     # 0xee3f0
leaq 0x5c05f(%rip), %rdx     # 0x127d52
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x22328(%rip), %rsi     # 0xee034
leaq 0x5bff7(%rip), %rdx     # 0x127d0a
movq %r14, %rdi
movl $0x6db, %ecx            # imm = 0x6DB
jmp 0xcbf31
shll $0x3, %r15d
leaq 0x222d9(%rip), %rsi     # 0xee004
leaq 0x5bfc9(%rip), %rdx     # 0x127cfb
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30af0
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x222e2(%rip), %rsi     # 0xee034
leaq 0x5bfb1(%rip), %rdx     # 0x127d0a
movq %rbx, %rdi
movl $0x6c7, %ecx            # imm = 0x6C7
jmp 0xcbdea
shll $0x3, %r15d
leaq 0x22293(%rip), %rsi     # 0xee004
leaq 0x5bfad(%rip), %rdx     # 0x127d25
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30af0
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x2229c(%rip), %rsi     # 0xee034
leaq 0x5bf6b(%rip), %rdx     # 0x127d0a
movq %rbx, %rdi
movl $0x6ca, %ecx            # imm = 0x6CA
jmp 0xcbdea
shll $0x3, %r15d
leaq 0x22250(%rip), %rsi     # 0xee004
leaq 0x5bf7a(%rip), %rdx     # 0x127d35
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30af0
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x22259(%rip), %rsi     # 0xee034
leaq 0x5bf28(%rip), %rdx     # 0x127d0a
movq %rbx, %rdi
movl $0x6cd, %ecx            # imm = 0x6CD
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 0x221ee(%rip), %rsi     # 0xee004
leaq 0x5bf28(%rip), %rdx     # 0x127d45
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl %r14d, %ecx
xorl %eax, %eax
callq 0x30af0
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x221f7(%rip), %rsi     # 0xee034
leaq 0x5bec6(%rip), %rdx     # 0x127d0a
movq %rbx, %rdi
movl $0x6d0, %ecx            # imm = 0x6D0
movq %r15, %r8
jmp 0xcbded
movq 0xc70(%rbx), %rdi
movl 0xc78(%rbx), %esi
movq 0xc90(%rbx), %rdx
movq 0xc98(%rbx), %r8
movq %r14, (%rsp)
movl $0x1, %ebp
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x1577e
cmpl $0x1, %eax
jne 0xcbec2
leaq 0x2255f(%rip), %rsi     # 0xee3f0
leaq 0x5bf28(%rip), %rdx     # 0x127dc0
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x22183(%rip), %rsi     # 0xee034
leaq 0x5be52(%rip), %rdx     # 0x127d0a
movq %r14, %rdi
movl $0x6e4, %ecx            # imm = 0x6E4
jmp 0xcbf31
movq 0xc70(%rbx), %rdi
movl 0xc78(%rbx), %esi
movq 0xca0(%rbx), %rdx
movq 0xca8(%rbx), %r8
movq %r14, (%rsp)
movl $0x1, %ebp
movl $0x1, %ecx
movl $0x1, %r9d
callq 0x1577e
cmpl $0x1, %eax
jne 0xcbf40
leaq 0x224ee(%rip), %rsi     # 0xee3f0
leaq 0x5bf27(%rip), %rdx     # 0x127e30
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x22112(%rip), %rsi     # 0xee034
leaq 0x5bde1(%rip), %rdx     # 0x127d0a
movq %r14, %rdi
movl $0x6ed, %ecx            # imm = 0x6ED
movq %rbx, %r8
xorl %eax, %eax
callq 0x30af0
jmp 0xcbdf9
movq 0xc70(%rbx), %rdi
movl 0xc78(%rbx), %esi
movq 0xcb0(%rbx), %rdx
movl 0xcc0(%rbx), %ecx
movq 0xcb8(%rbx), %r8
movq %r14, (%rsp)
movl $0x1, %r9d
callq 0x1577e
xorl %ebp, %ebp
cmpl $0x1, %eax
jne 0xcbdf9
leaq 0x2246e(%rip), %rsi     # 0xee3f0
leaq 0x5bf17(%rip), %rdx     # 0x127ea0
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x22092(%rip), %rsi     # 0xee034
leaq 0x5bd61(%rip), %rdx     # 0x127d0a
movq %r14, %rdi
movl $0x6f6, %ecx            # imm = 0x6F6
movq %rbx, %r8
jmp 0xcbded