user: What is the c source code of the assembly code below?

```asm
<bioD7_3d>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x38,%rsp
  mov    %rdi,%rbx
  mov    %rsi,0x10(%rsp)
  mov    %rdx,0x18(%rsp)
  mov    %rcx,0x20(%rsp)
  mov    %r8,%r14
  mov    %r9,0x28(%rsp)
  mov    0x88(%rsp),%ebp
  mov    0x90(%rsp),%r12d
  mov    0x98(%rsp),%r13d
  mov    0xa0(%rsp),%r15d
  cmp    $0x1,%ebp
  setg   %al
  movzbl %al,%eax
  cmp    $0x1,%r12d
  setg   %dl
  movzbl %dl,%edx
  add    %edx,%eax
  cmp    $0x1,%r13d
  setg   %dl
  movzbl %dl,%edx
  add    %edx,%eax
  test   %r15d,%r15d
  jne    L56
  movss  D113(%rip),%xmm7
  movss  %xmm7,0x8(%rsp)
  movss  D9(%rip),%xmm1
  movss  %xmm1,0x4(%rsp)
L32:
  movss  D9(%rip),%xmm2
  movss  %xmm2,(%rsp)
  cmp    $0x2,%eax
  je     L0
  movss  D80(%rip),%xmm3
  movss  %xmm3,(%rsp)
  cmp    $0x1,%eax
  jne    L0
  movss  D75(%rip),%xmm6
  movss  %xmm6,(%rsp)
L0:
  cmp    $0x1,%ebp
  jle    L52
  pxor   %xmm0,%xmm0
  cvtss2sd (%rsp),%xmm0
  divsd  D42(%rip),%xmm0
  pxor   %xmm4,%xmm4
  cvtsd2ss %xmm0,%xmm4
  movss  %xmm4,(%rsp)
L52:
  cmp    $0x1,%r12d
  jle    L33
  pxor   %xmm0,%xmm0
  cvtss2sd (%rsp),%xmm0
  divsd  D42(%rip),%xmm0
  pxor   %xmm5,%xmm5
  cvtsd2ss %xmm0,%xmm5
  movss  %xmm5,(%rsp)
L33:
  cmp    $0x1,%r13d
  jle    L27
  pxor   %xmm0,%xmm0
  cvtss2sd (%rsp),%xmm0
  divsd  D42(%rip),%xmm0
  pxor   %xmm6,%xmm6
  cvtsd2ss %xmm0,%xmm6
  movss  %xmm6,(%rsp)
L27:
  test   %eax,%eax
  jne    L95
  movss  D9(%rip),%xmm0
  movss  %xmm0,(%rsp)
  movss  %xmm0,0x8(%rsp)
  movss  %xmm0,0x4(%rsp)
  movss  %xmm0,0xc(%rsp)
L9:
  cvtss2sd %xmm0,%xmm0
  mov    $0x0,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %ebp,%esi
  mov    %rbx,%rdi
  mov    $0x1,%eax
  call   <bio_3d_premult@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0xc(%rsp),%xmm0
  mov    $0x1,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %ebp,%esi
  mov    %rbx,%rdi
  mov    $0x1,%eax
  call   <bio_3d_premult@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x4(%rsp),%xmm0
  mov    $0x0,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %ebp,%esi
  mov    %rbx,%rdi
  mov    $0x1,%eax
  call   <bio_3d_premult@plt>
  test   %r15d,%r15d
  je     L104
  pxor   %xmm0,%xmm0
  cvtss2sd 0x8(%rsp),%xmm0
  push   %r13
  push   %r12
  push   %rbp
  push   0x98(%rsp)
  push   0x98(%rsp)
  push   0x98(%rsp)
  pxor   %xmm1,%xmm1
  cvtss2sd 0x30(%rsp),%xmm1
  mov    0x58(%rsp),%r9
  mov    %r14,%r8
  mov    0x50(%rsp),%rcx
  mov    0x48(%rsp),%rdx
  mov    0x40(%rsp),%rsi
  mov    %rbx,%rdi
  mov    $0x2,%eax
  call   <bioD1__3d@plt>
  add    $0x30,%rsp
L92:
  add    $0x38,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L56:
  movss  D73(%rip),%xmm7
  movss  %xmm7,0x8(%rsp)
  movss  D126(%rip),%xmm4
  movss  %xmm4,0x4(%rsp)
  jmp    L32
L95:
  movss  D80(%rip),%xmm5
  movss  %xmm5,0xc(%rsp)
  movss  D77(%rip),%xmm0
  jmp    L9
L104:
  pxor   %xmm0,%xmm0
  cvtss2sd 0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd (%rsp),%xmm1
  mov    %r13d,%r8d
  mov    %r12d,%ecx
  mov    %ebp,%edx
  mov    0x80(%rsp),%rsi
  mov    %rbx,%rdi
  mov    $0x2,%eax
  call   <bioD1_3dskip@plt>
  jmp    L92
```

tool_calls: name: parse_data
arguments: label: D113
data_type: byte[4]
name: parse_data
arguments: label: D9
data_type: f32
name: parse_data
arguments: label: D80
data_type: byte[4]
name: parse_data
arguments: label: D75
data_type: byte[4]
name: parse_data
arguments: label: D42
data_type: f64
name: parse_data
arguments: label: D73
data_type: byte[4]
name: parse_data
arguments: label: D126
data_type: byte[4]
name: parse_data
arguments: label: D77
data_type: f32

tool: {"D113": [0x33,0x33,0x33,0xc0]}

tool: D9: 1

tool: {"D80": [0x25,0x49,0x92,0xbd]}

tool: {"D75": [0xff,0xff,0x5f,0xc1]}

tool: D42: 0.98

tool: {"D73": [0x86,0x61,0x98,0x40]}

tool: {"D126": [0x9a,0x99,0x99,0xbd]}

tool: D77: 0.2

assistant: ```c
void bioD7_3d(invector, HHH, HHL, HLH, HLL, LHH, LHL, LLH, LLL, xlength, ylength, zlength, ifnotAllskip) float *invector;
float *HLL, *HLH, *HHL, *HHH;
float *LLL, *LLH, *LHL, *LHH;
int xlength, ylength, zlength;
int ifnotAllskip;
{
  float x0 = 0.2;
  float x1 = -0.357142857136;
  float x2 = 0.21;
  float X0, X1, X2, X3;
  int pairity;
  float Norm;
  int dim;
  dim = (xlength > 1) + (ylength > 1) + (zlength > 1);
  if (0 || ifnotAllskip) {
    X0 = x0;
    X1 = x0 * x1;
    X2 = x1 * x2;
    X3 = 1.0 / x2;
  } else {
    X0 = x0;
    X1 = x0 * x1;
    X2 = 1;
    X3 = 1.0 / x1;
  }
  if (dim == 3)
    Norm = (x0 * x1);
  if (dim == 2)
    Norm = 1.0;
  if (dim == 1)
    Norm = 1.0 / (x0 * x1);
  if (xlength > 1)
    Norm /= (0.98);
  if (ylength > 1)
    Norm /= (0.98);
  if (zlength > 1)
    Norm /= (0.98);
  if (dim == 0) {
    Norm = 1.0;
    X0 = 1.0;
    X1 = 1.0;
    X2 = 1.0;
    X3 = 1.0;
  }
  pairity = 0;
  bio_3d_premult(invector, xlength, ylength, zlength, X0, pairity);
  pairity = 1;
  bio_3d_premult(invector, xlength, ylength, zlength, X1, pairity);
  pairity = 0;
  bio_3d_premult(invector, xlength, ylength, zlength, X2, pairity);
  if (ifnotAllskip)
    bioD1__3d(invector, HHH, HHL, HLH, HLL, LHH, LHL, LLH, LLL, xlength, ylength, zlength, X3, Norm);
  else
    bioD1_3dskip(invector, LLL, xlength, ylength, zlength, X3, Norm);
}
```