// File: /workspace/github_c_makefile_star2_O2/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 0x8490
movq %rax, 0xc88(%rbx)
testq %rax, %rax
je 0xc46d2
movq %rax, %r12
movq %r14, %rdi
callq 0x8490
movq %rax, 0xc98(%rbx)
testq %rax, %rax
je 0xc4718
movq %r14, %rdi
callq 0x8490
movq %rax, 0xca8(%rbx)
testq %rax, %rax
je 0xc475b
movslq 0xcc0(%rbx), %r14
imulq %r15, %r14
leaq (,%r14,8), %rdi
callq 0x8490
movq %rax, 0xcb8(%rbx)
testq %rax, %rax
je 0xc47bb
movq 0xc70(%rbx), %rdi
movq 0xc80(%rbx), %rdx
leaq 0x1602(%rbx), %r14
movq %r14, (%rsp)
pushq $0x1
popq %rbp
movl %r15d, %esi
movl %ebp, %ecx
movq %r12, %r8
movl %ebp, %r9d
callq 0x139d8
cmpl $0x1, %eax
jne 0xc4801
leaq 0x20d52(%rip), %rsi     # 0xe53f0
leaq 0x5a55d(%rip), %rdx     # 0x11ec02
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x20976(%rip), %rsi     # 0xe5034
leaq 0x5a4f5(%rip), %rdx     # 0x11ebba
movq %r14, %rdi
movl $0x6db, %ecx            # imm = 0x6DB
jmp 0xc48d1
shll $0x3, %r15d
leaq 0x20927(%rip), %rsi     # 0xe5004
leaq 0x5a4c7(%rip), %rdx     # 0x11ebab
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2e014
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x20930(%rip), %rsi     # 0xe5034
leaq 0x5a4af(%rip), %rdx     # 0x11ebba
movq %rbx, %rdi
movl $0x6c7, %ecx            # imm = 0x6C7
jmp 0xc479c
shll $0x3, %r15d
leaq 0x208e1(%rip), %rsi     # 0xe5004
leaq 0x5a4ab(%rip), %rdx     # 0x11ebd5
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2e014
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x208ea(%rip), %rsi     # 0xe5034
leaq 0x5a469(%rip), %rdx     # 0x11ebba
movq %rbx, %rdi
movl $0x6ca, %ecx            # imm = 0x6CA
jmp 0xc479c
shll $0x3, %r15d
leaq 0x2089e(%rip), %rsi     # 0xe5004
leaq 0x5a478(%rip), %rdx     # 0x11ebe5
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2e014
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x208a7(%rip), %rsi     # 0xe5034
leaq 0x5a426(%rip), %rdx     # 0x11ebba
movq %rbx, %rdi
movl $0x6cd, %ecx            # imm = 0x6CD
movq %r14, %r8
xorl %eax, %eax
callq 0x2e014
pushq $0x1
popq %rbp
movl %ebp, %eax
addq $0x810, %rsp            # imm = 0x810
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
shll $0x3, %r14d
leaq 0x2083e(%rip), %rsi     # 0xe5004
leaq 0x5a428(%rip), %rdx     # 0x11ebf5
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2e014
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x20847(%rip), %rsi     # 0xe5034
leaq 0x5a3c6(%rip), %rdx     # 0x11ebba
movq %rbx, %rdi
movl $0x6d0, %ecx            # imm = 0x6D0
movq %r15, %r8
jmp 0xc479f
movq 0xc70(%rbx), %rdi
movl 0xc78(%rbx), %esi
movq 0xc90(%rbx), %rdx
movq 0xc98(%rbx), %r8
movq %r14, (%rsp)
pushq $0x1
popq %rbp
movl %ebp, %ecx
movl %ebp, %r9d
callq 0x139d8
cmpl $0x1, %eax
jne 0xc486a
leaq 0x20bb7(%rip), %rsi     # 0xe53f0
leaq 0x5a430(%rip), %rdx     # 0x11ec70
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x207db(%rip), %rsi     # 0xe5034
leaq 0x5a35a(%rip), %rdx     # 0x11ebba
movq %r14, %rdi
movl $0x6e4, %ecx            # imm = 0x6E4
jmp 0xc48d1
movq 0xc70(%rbx), %rdi
movl 0xc78(%rbx), %esi
movq 0xca0(%rbx), %rdx
movq 0xca8(%rbx), %r8
movq %r14, (%rsp)
pushq $0x1
popq %rbp
movl %ebp, %ecx
movl %ebp, %r9d
callq 0x139d8
cmpl $0x1, %eax
jne 0xc48e0
leaq 0x20b4e(%rip), %rsi     # 0xe53f0
leaq 0x5a437(%rip), %rdx     # 0x11ece0
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x20772(%rip), %rsi     # 0xe5034
leaq 0x5a2f1(%rip), %rdx     # 0x11ebba
movq %r14, %rdi
movl $0x6ed, %ecx            # imm = 0x6ED
movq %rbx, %r8
xorl %eax, %eax
callq 0x2e014
jmp 0xc47a9
movq 0xc70(%rbx), %rdi
movl 0xc78(%rbx), %esi
movq 0xcb0(%rbx), %rdx
movl 0xcc0(%rbx), %ecx
movq 0xcb8(%rbx), %r8
movq %r14, (%rsp)
pushq $0x1
popq %rbx
movl %ebx, %r9d
callq 0x139d8
xorl %ebp, %ebp
cmpl $0x1, %eax
jne 0xc47a9
leaq 0x20ace(%rip), %rsi     # 0xe53f0
leaq 0x5a427(%rip), %rdx     # 0x11ed50
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x206f2(%rip), %rsi     # 0xe5034
leaq 0x5a271(%rip), %rdx     # 0x11ebba
movq %r14, %rdi
movl $0x6f6, %ecx            # imm = 0x6F6
movq %r15, %r8
xorl %eax, %eax
callq 0x2e014
movl %ebx, %ebp
jmp 0xc47a9