// File: /workspace/github_c_makefile_star2_O1/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 0xcf5b1
movq %rax, %r12
movq %r14, %rdi
callq 0x8460
movq %rax, 0xc98(%rbx)
testq %rax, %rax
je 0xcf5f7
movq %r14, %rdi
callq 0x8460
movq %rax, 0xca8(%rbx)
testq %rax, %rax
je 0xcf63a
movslq 0xcc0(%rbx), %r14
imulq %r15, %r14
leaq (,%r14,8), %rdi
callq 0x8460
movq %rax, 0xcb8(%rbx)
testq %rax, %rax
je 0xcf69c
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 0x15654
cmpl $0x1, %eax
jne 0xcf6e2
leaq 0x21e73(%rip), %rsi     # 0xf13f0
leaq 0x5b7a6(%rip), %rdx     # 0x12ad2a
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x21a97(%rip), %rsi     # 0xf1034
leaq 0x5b73e(%rip), %rdx     # 0x12ace2
movq %r14, %rdi
movl $0x6db, %ecx            # imm = 0x6DB
jmp 0xcf7c2
shll $0x3, %r15d
leaq 0x21a48(%rip), %rsi     # 0xf1004
leaq 0x5b710(%rip), %rdx     # 0x12acd3
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x21a51(%rip), %rsi     # 0xf1034
leaq 0x5b6f8(%rip), %rdx     # 0x12ace2
movq %rbx, %rdi
movl $0x6c7, %ecx            # imm = 0x6C7
jmp 0xcf67b
shll $0x3, %r15d
leaq 0x21a02(%rip), %rsi     # 0xf1004
leaq 0x5b6f4(%rip), %rdx     # 0x12acfd
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x21a0b(%rip), %rsi     # 0xf1034
leaq 0x5b6b2(%rip), %rdx     # 0x12ace2
movq %rbx, %rdi
movl $0x6ca, %ecx            # imm = 0x6CA
jmp 0xcf67b
shll $0x3, %r15d
leaq 0x219bf(%rip), %rsi     # 0xf1004
leaq 0x5b6c1(%rip), %rdx     # 0x12ad0d
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x219c8(%rip), %rsi     # 0xf1034
leaq 0x5b66f(%rip), %rdx     # 0x12ace2
movq %rbx, %rdi
movl $0x6cd, %ecx            # imm = 0x6CD
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 0x2195d(%rip), %rsi     # 0xf1004
leaq 0x5b66f(%rip), %rdx     # 0x12ad1d
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl %r14d, %ecx
xorl %eax, %eax
callq 0x30c2c
addq $0x1602, %rbx           # imm = 0x1602
leaq 0x21966(%rip), %rsi     # 0xf1034
leaq 0x5b60d(%rip), %rdx     # 0x12ace2
movq %rbx, %rdi
movl $0x6d0, %ecx            # imm = 0x6D0
movq %r15, %r8
jmp 0xcf67e
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 0x15654
cmpl $0x1, %eax
jne 0xcf753
leaq 0x21cce(%rip), %rsi     # 0xf13f0
leaq 0x5b66f(%rip), %rdx     # 0x12ad98
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x218f2(%rip), %rsi     # 0xf1034
leaq 0x5b599(%rip), %rdx     # 0x12ace2
movq %r14, %rdi
movl $0x6e4, %ecx            # imm = 0x6E4
jmp 0xcf7c2
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 0x15654
cmpl $0x1, %eax
jne 0xcf7d1
leaq 0x21c5d(%rip), %rsi     # 0xf13f0
leaq 0x5b66e(%rip), %rdx     # 0x12ae08
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x21881(%rip), %rsi     # 0xf1034
leaq 0x5b528(%rip), %rdx     # 0x12ace2
movq %r14, %rdi
movl $0x6ed, %ecx            # imm = 0x6ED
movq %rbx, %r8
xorl %eax, %eax
callq 0x30c2c
jmp 0xcf68a
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 0x15654
xorl %ebp, %ebp
cmpl $0x1, %eax
jne 0xcf68a
leaq 0x21bdd(%rip), %rsi     # 0xf13f0
leaq 0x5b65e(%rip), %rdx     # 0x12ae78
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x21801(%rip), %rsi     # 0xf1034
leaq 0x5b4a8(%rip), %rdx     # 0x12ace2
movq %r14, %rdi
movl $0x6f6, %ecx            # imm = 0x6F6
movq %rbx, %r8
jmp 0xcf67e