// File: /workspace/github_c_makefile_star2_O0/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:
subq $0x4058, %rsp           # imm = 0x4058
movq %rdi, 0x4048(%rsp)
movq 0x4048(%rsp), %rax
movslq 0xc20(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4048(%rsp), %rax
movq %rcx, 0xc30(%rax)
movq 0x4048(%rsp), %rax
cmpq $0x0, 0xc30(%rax)
jne 0x194f2a
movq 0x4048(%rsp), %rax
movslq 0xc20(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x4044(%rsp)
leaq 0x3840(%rsp), %rdi
movl 0x4044(%rsp), %ecx
leaq 0x3d129(%rip), %rsi     # 0x1d2004
leaq 0x77027(%rip), %rdx     # 0x20bf09
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x3840(%rsp), %r8
leaq 0x3d12d(%rip), %rsi     # 0x1d2034
leaq 0x7700c(%rip), %rdx     # 0x20bf1a
movl $0x5d9, %ecx            # imm = 0x5D9
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x1954c1
movq 0x4048(%rsp), %rax
movslq 0xc20(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4048(%rsp), %rax
movq %rcx, 0xc40(%rax)
movq 0x4048(%rsp), %rax
cmpq $0x0, 0xc40(%rax)
jne 0x194fe5
movq 0x4048(%rsp), %rax
movslq 0xc20(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x383c(%rsp)
leaq 0x3030(%rsp), %rdi
movl 0x383c(%rsp), %ecx
leaq 0x3d06e(%rip), %rsi     # 0x1d2004
leaq 0x76f98(%rip), %rdx     # 0x20bf35
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x3030(%rsp), %r8
leaq 0x3d072(%rip), %rsi     # 0x1d2034
leaq 0x76f51(%rip), %rdx     # 0x20bf1a
movl $0x5dc, %ecx            # imm = 0x5DC
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x1954c1
movq 0x4048(%rsp), %rax
movslq 0xc20(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4048(%rsp), %rax
movq %rcx, 0xc50(%rax)
movq 0x4048(%rsp), %rax
cmpq $0x0, 0xc50(%rax)
jne 0x1950a0
movq 0x4048(%rsp), %rax
movslq 0xc20(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x302c(%rsp)
leaq 0x2820(%rsp), %rdi
movl 0x302c(%rsp), %ecx
leaq 0x3cfb3(%rip), %rsi     # 0x1d2004
leaq 0x76eee(%rip), %rdx     # 0x20bf46
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x2820(%rsp), %r8
leaq 0x3cfb7(%rip), %rsi     # 0x1d2034
leaq 0x76e96(%rip), %rdx     # 0x20bf1a
movl $0x5df, %ecx            # imm = 0x5DF
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x1954c1
movq 0x4048(%rsp), %rax
movl 0xc68(%rax), %eax
movq 0x4048(%rsp), %rcx
imull 0xc20(%rcx), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4048(%rsp), %rax
movq %rcx, 0xc60(%rax)
movq 0x4048(%rsp), %rax
cmpq $0x0, 0xc60(%rax)
jne 0x195180
movq 0x4048(%rsp), %rax
movl 0xc68(%rax), %eax
movq 0x4048(%rsp), %rcx
imull 0xc20(%rcx), %eax
cltq
shlq $0x3, %rax
movl %eax, 0x281c(%rsp)
leaq 0x2010(%rsp), %rdi
movl 0x281c(%rsp), %ecx
leaq 0x3ced3(%rip), %rsi     # 0x1d2004
leaq 0x76e20(%rip), %rdx     # 0x20bf58
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x2010(%rsp), %r8
leaq 0x3ced7(%rip), %rsi     # 0x1d2034
leaq 0x76db6(%rip), %rdx     # 0x20bf1a
movl $0x5e2, %ecx            # imm = 0x5E2
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x1954c1
movq 0x4048(%rsp), %rax
movq 0xc18(%rax), %rdi
movq 0x4048(%rsp), %rax
movl 0xc20(%rax), %esi
movq 0x4048(%rsp), %rax
movq 0xc28(%rax), %rdx
movq 0x4048(%rsp), %rax
movq 0xc30(%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 0x19524d
leaq 0x1810(%rsp), %rdi
movq 0x4048(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x3d1da(%rip), %rsi     # 0x1d23d8
leaq 0x76d60(%rip), %rdx     # 0x20bf65
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x1810(%rsp), %r8
leaq 0x3ce0a(%rip), %rsi     # 0x1d2034
leaq 0x76ce9(%rip), %rdx     # 0x20bf1a
movl $0x5ed, %ecx            # imm = 0x5ED
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x1954c1
movq 0x4048(%rsp), %rax
movq 0xc18(%rax), %rdi
movq 0x4048(%rsp), %rax
movl 0xc20(%rax), %esi
movq 0x4048(%rsp), %rax
movq 0xc38(%rax), %rdx
movq 0x4048(%rsp), %rax
movq 0xc40(%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 0x19531a
leaq 0x1010(%rsp), %rdi
movq 0x4048(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x3d10d(%rip), %rsi     # 0x1d23d8
leaq 0x76d0d(%rip), %rdx     # 0x20bfdf
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x1010(%rsp), %r8
leaq 0x3cd3d(%rip), %rsi     # 0x1d2034
leaq 0x76c1c(%rip), %rdx     # 0x20bf1a
movl $0x5f6, %ecx            # imm = 0x5F6
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x1954c1
movq 0x4048(%rsp), %rax
movq 0xc18(%rax), %rdi
movq 0x4048(%rsp), %rax
movl 0xc20(%rax), %esi
movq 0x4048(%rsp), %rax
movq 0xc48(%rax), %rdx
movq 0x4048(%rsp), %rax
movq 0xc50(%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 0x1953e7
leaq 0x810(%rsp), %rdi
movq 0x4048(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x3d040(%rip), %rsi     # 0x1d23d8
leaq 0x76cba(%rip), %rdx     # 0x20c059
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x810(%rsp), %r8
leaq 0x3cc70(%rip), %rsi     # 0x1d2034
leaq 0x76b4f(%rip), %rdx     # 0x20bf1a
movl $0x5ff, %ecx            # imm = 0x5FF
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x1954c1
movq 0x4048(%rsp), %rax
movq 0xc18(%rax), %rdi
movq 0x4048(%rsp), %rax
movl 0xc20(%rax), %esi
movq 0x4048(%rsp), %rax
movq 0xc58(%rax), %rdx
movq 0x4048(%rsp), %rax
movl 0xc68(%rax), %ecx
movq 0x4048(%rsp), %rax
movq 0xc60(%rax), %r8
movq 0x4048(%rsp), %rax
addq $0x1602, %rax           # imm = 0x1602
movl $0x1, %r9d
movq %rax, (%rsp)
callq 0x1f4b0
cmpl $0x1, %eax
jne 0x1954b6
leaq 0x10(%rsp), %rdi
movq 0x4048(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x3cf6b(%rip), %rsi     # 0x1d23d8
leaq 0x76c61(%rip), %rdx     # 0x20c0d5
movb $0x0, %al
callq 0x5b9c0
movq 0x4048(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x10(%rsp), %r8
leaq 0x3cb9e(%rip), %rsi     # 0x1d2034
leaq 0x76a7d(%rip), %rdx     # 0x20bf1a
movl $0x608, %ecx            # imm = 0x608
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4054(%rsp)
jmp 0x1954c1
movl $0x0, 0x4054(%rsp)
movl 0x4054(%rsp), %eax
addq $0x4058, %rsp           # imm = 0x4058
retq