// File: /workspace/github_c_makefile_star2_O0/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:
subq $0x4058, %rsp           # imm = 0x4058
movq %rdi, 0x4048(%rsp)
movq 0x4048(%rsp), %rax
movslq 0xc78(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4048(%rsp), %rax
movq %rcx, 0xc88(%rax)
movq 0x4048(%rsp), %rax
cmpq $0x0, 0xc88(%rax)
jne 0x1969da
movq 0x4048(%rsp), %rax
movslq 0xc78(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x4044(%rsp)
leaq 0x3840(%rsp), %rdi
movl 0x4044(%rsp), %ecx
leaq 0x3b679(%rip), %rsi     # 0x1d2004
leaq 0x75a01(%rip), %rdx     # 0x20c393
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x3840(%rsp), %r8
leaq 0x3b67d(%rip), %rsi     # 0x1d2034
leaq 0x759e4(%rip), %rdx     # 0x20c3a2
movl $0x6c7, %ecx            # imm = 0x6C7
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x196f71
movq 0x4048(%rsp), %rax
movslq 0xc78(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4048(%rsp), %rax
movq %rcx, 0xc98(%rax)
movq 0x4048(%rsp), %rax
cmpq $0x0, 0xc98(%rax)
jne 0x196a95
movq 0x4048(%rsp), %rax
movslq 0xc78(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x383c(%rsp)
leaq 0x3030(%rsp), %rdi
movl 0x383c(%rsp), %ecx
leaq 0x3b5be(%rip), %rsi     # 0x1d2004
leaq 0x75970(%rip), %rdx     # 0x20c3bd
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x3030(%rsp), %r8
leaq 0x3b5c2(%rip), %rsi     # 0x1d2034
leaq 0x75929(%rip), %rdx     # 0x20c3a2
movl $0x6ca, %ecx            # imm = 0x6CA
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x196f71
movq 0x4048(%rsp), %rax
movslq 0xc78(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4048(%rsp), %rax
movq %rcx, 0xca8(%rax)
movq 0x4048(%rsp), %rax
cmpq $0x0, 0xca8(%rax)
jne 0x196b50
movq 0x4048(%rsp), %rax
movslq 0xc78(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x302c(%rsp)
leaq 0x2820(%rsp), %rdi
movl 0x302c(%rsp), %ecx
leaq 0x3b503(%rip), %rsi     # 0x1d2004
leaq 0x758c5(%rip), %rdx     # 0x20c3cd
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x2820(%rsp), %r8
leaq 0x3b507(%rip), %rsi     # 0x1d2034
leaq 0x7586e(%rip), %rdx     # 0x20c3a2
movl $0x6cd, %ecx            # imm = 0x6CD
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x196f71
movq 0x4048(%rsp), %rax
movl 0xcc0(%rax), %eax
movq 0x4048(%rsp), %rcx
imull 0xc78(%rcx), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4048(%rsp), %rax
movq %rcx, 0xcb8(%rax)
movq 0x4048(%rsp), %rax
cmpq $0x0, 0xcb8(%rax)
jne 0x196c30
movq 0x4048(%rsp), %rax
movl 0xcc0(%rax), %eax
movq 0x4048(%rsp), %rcx
imull 0xc78(%rcx), %eax
cltq
shlq $0x3, %rax
movl %eax, 0x281c(%rsp)
leaq 0x2010(%rsp), %rdi
movl 0x281c(%rsp), %ecx
leaq 0x3b423(%rip), %rsi     # 0x1d2004
leaq 0x757f5(%rip), %rdx     # 0x20c3dd
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x2010(%rsp), %r8
leaq 0x3b427(%rip), %rsi     # 0x1d2034
leaq 0x7578e(%rip), %rdx     # 0x20c3a2
movl $0x6d0, %ecx            # imm = 0x6D0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x196f71
movq 0x4048(%rsp), %rax
movq 0xc70(%rax), %rdi
movq 0x4048(%rsp), %rax
movl 0xc78(%rax), %esi
movq 0x4048(%rsp), %rax
movq 0xc80(%rax), %rdx
movq 0x4048(%rsp), %rax
movq 0xc88(%rax), %r8
movq 0x4048(%rsp), %rax
addq $0x1602, %rax           # imm = 0x1602
movl $0x1, %r9d
movl %r9d, %ecx
movq %rax, (%rsp)
callq 0x1f4b0
cmpl $0x1, %eax
jne 0x196cfd
leaq 0x1810(%rsp), %rdi
movq 0x4048(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x3b72a(%rip), %rsi     # 0x1d23d8
leaq 0x75735(%rip), %rdx     # 0x20c3ea
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x1810(%rsp), %r8
leaq 0x3b35a(%rip), %rsi     # 0x1d2034
leaq 0x756c1(%rip), %rdx     # 0x20c3a2
movl $0x6db, %ecx            # imm = 0x6DB
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x196f71
movq 0x4048(%rsp), %rax
movq 0xc70(%rax), %rdi
movq 0x4048(%rsp), %rax
movl 0xc78(%rax), %esi
movq 0x4048(%rsp), %rax
movq 0xc90(%rax), %rdx
movq 0x4048(%rsp), %rax
movq 0xc98(%rax), %r8
movq 0x4048(%rsp), %rax
addq $0x1602, %rax           # imm = 0x1602
movl $0x1, %r9d
movl %r9d, %ecx
movq %rax, (%rsp)
callq 0x1f4b0
cmpl $0x1, %eax
jne 0x196dca
leaq 0x1010(%rsp), %rdi
movq 0x4048(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x3b65d(%rip), %rsi     # 0x1d23d8
leaq 0x756d6(%rip), %rdx     # 0x20c458
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x1010(%rsp), %r8
leaq 0x3b28d(%rip), %rsi     # 0x1d2034
leaq 0x755f4(%rip), %rdx     # 0x20c3a2
movl $0x6e4, %ecx            # imm = 0x6E4
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x196f71
movq 0x4048(%rsp), %rax
movq 0xc70(%rax), %rdi
movq 0x4048(%rsp), %rax
movl 0xc78(%rax), %esi
movq 0x4048(%rsp), %rax
movq 0xca0(%rax), %rdx
movq 0x4048(%rsp), %rax
movq 0xca8(%rax), %r8
movq 0x4048(%rsp), %rax
addq $0x1602, %rax           # imm = 0x1602
movl $0x1, %r9d
movl %r9d, %ecx
movq %rax, (%rsp)
callq 0x1f4b0
cmpl $0x1, %eax
jne 0x196e97
leaq 0x810(%rsp), %rdi
movq 0x4048(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x3b590(%rip), %rsi     # 0x1d23d8
leaq 0x75679(%rip), %rdx     # 0x20c4c8
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x810(%rsp), %r8
leaq 0x3b1c0(%rip), %rsi     # 0x1d2034
leaq 0x75527(%rip), %rdx     # 0x20c3a2
movl $0x6ed, %ecx            # imm = 0x6ED
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x196f71
movq 0x4048(%rsp), %rax
movq 0xc70(%rax), %rdi
movq 0x4048(%rsp), %rax
movl 0xc78(%rax), %esi
movq 0x4048(%rsp), %rax
movq 0xcb0(%rax), %rdx
movq 0x4048(%rsp), %rax
movl 0xcc0(%rax), %ecx
movq 0x4048(%rsp), %rax
movq 0xcb8(%rax), %r8
movq 0x4048(%rsp), %rax
addq $0x1602, %rax           # imm = 0x1602
movl $0x1, %r9d
movq %rax, (%rsp)
callq 0x1f4b0
cmpl $0x1, %eax
jne 0x196f66
leaq 0x10(%rsp), %rdi
movq 0x4048(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x3b4bb(%rip), %rsi     # 0x1d23d8
leaq 0x75614(%rip), %rdx     # 0x20c538
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x10(%rsp), %r8
leaq 0x3b0ee(%rip), %rsi     # 0x1d2034
leaq 0x75455(%rip), %rdx     # 0x20c3a2
movl $0x6f6, %ecx            # imm = 0x6F6
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x196f71
movl $0x0, 0x4054(%rsp)
movl 0x4054(%rsp), %eax
addq $0x4058, %rsp           # imm = 0x4058
retq