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

```asm
<checkSolution>:
  endbr64
  mov    %rdi,%rcx
  mov    %rsi,%rdx
  mov    0x10(%rsp),%rdi
  mov    0x18(%rsp),%rsi
  mov    $0x0,%eax
  comisd %xmm3,%xmm0
  ja     L146
  comisd %xmm4,%xmm0
  ja     L146
  ucomisd %xmm0,%xmm0
  setnp  %al
  movzbl %al,%eax
  comisd %xmm3,%xmm0
  ja     L223
  ucomisd %xmm4,%xmm0
  mov    $0x0,%r10d
  cmova  %r10d,%eax
L146:
  movsd  (%rcx),%xmm0
  movapd %xmm0,%xmm3
  andpd  D9(%rip),%xmm3
  comisd D207(%rip),%xmm3
  jbe    L53
  mov    $0x0,%eax
L135:
  movsd  (%rdx),%xmm3
  movapd %xmm3,%xmm4
  andpd  D9(%rip),%xmm4
  comisd D207(%rip),%xmm4
  jbe    L157
  mov    $0x0,%eax
L194:
  comisd %xmm0,%xmm1
  ja     L118
  ucomisd %xmm2,%xmm3
  mov    $0x0,%edx
  cmova  %edx,%eax
L104:
  movsd  (%rdi),%xmm0
  movapd %xmm0,%xmm3
  andpd  D9(%rip),%xmm3
  comisd D207(%rip),%xmm3
  jbe    L166
  mov    $0x0,%eax
L187:
  movsd  (%rsi),%xmm3
  movapd %xmm3,%xmm4
  andpd  D9(%rip),%xmm4
  comisd D207(%rip),%xmm4
  jbe    L182
  mov    $0x0,%eax
L18:
  comisd %xmm0,%xmm1
  ja     L143
  ucomisd %xmm2,%xmm3
  mov    $0x0,%edx
  cmova  %edx,%eax
L200:
  comisd (%r8),%xmm1
  ja     L156
  movsd  (%r9),%xmm0
  ucomisd %xmm2,%xmm0
  mov    $0x0,%edx
  cmova  %edx,%eax
  ret
L223:
  mov    $0x0,%eax
  jmp    L146
L53:
  movsd  0x8(%rcx),%xmm3
  andpd  D9(%rip),%xmm3
  comisd D207(%rip),%xmm3
  jbe    L5
  mov    $0x0,%eax
  jmp    L135
L5:
  movsd  0x10(%rcx),%xmm3
  andpd  D9(%rip),%xmm3
  ucomisd D207(%rip),%xmm3
  mov    $0x0,%ecx
  cmova  %ecx,%eax
  jmp    L135
L157:
  movsd  0x8(%rdx),%xmm4
  andpd  D9(%rip),%xmm4
  comisd D207(%rip),%xmm4
  jbe    L99
  mov    $0x0,%eax
  jmp    L194
L99:
  movsd  0x10(%rdx),%xmm4
  andpd  D9(%rip),%xmm4
  ucomisd D207(%rip),%xmm4
  mov    $0x0,%edx
  cmova  %edx,%eax
  jmp    L194
L118:
  mov    $0x0,%eax
  jmp    L104
L166:
  movsd  0x8(%rdi),%xmm3
  andpd  D9(%rip),%xmm3
  comisd D207(%rip),%xmm3
  jbe    L127
  mov    $0x0,%eax
  jmp    L187
L127:
  movsd  0x10(%rdi),%xmm3
  andpd  D9(%rip),%xmm3
  ucomisd D207(%rip),%xmm3
  mov    $0x0,%edx
  cmova  %edx,%eax
  jmp    L187
L182:
  movsd  0x8(%rsi),%xmm4
  andpd  D9(%rip),%xmm4
  comisd D207(%rip),%xmm4
  jbe    L61
  mov    $0x0,%eax
  jmp    L18
L61:
  movsd  0x10(%rsi),%xmm4
  andpd  D9(%rip),%xmm4
  ucomisd D207(%rip),%xmm4
  mov    $0x0,%edx
  cmova  %edx,%eax
  jmp    L18
L143:
  mov    $0x0,%eax
  jmp    L200
L156:
  mov    $0x0,%eax
  ret
```

tool_calls: name: parse_data
arguments: tag: D9
data_type: qword[2]
name: parse_data
arguments: tag: D207
data_type: f64

tool: {"D9": [0x7fffffffffffffff,0x0000000000000000]}

tool: D207: 1

assistant: ```c
int checkSolution(double Ps, double sL, double sR, double *vaL, double *vaR, double *BaL, double *BaR, double enthL, double enthR, double *KaL, double *KaR, double *Bc, double *vcL, double *vcR) {
  int success = 1;
  if (Ps != Ps)
    success = 0;
  if (enthL < Ps || enthR < Ps)
    success = 0;
  if (enthL < Ps || enthR < Ps)
    success = 0;
  if (fabs(vaL[0]) > 1.0 || fabs(vaL[1]) > 1.0 || fabs(vaL[2]) > 1.0)
    success = 0;
  if (fabs(vaR[0]) > 1.0 || fabs(vaR[1]) > 1.0 || fabs(vaR[2]) > 1.0)
    success = 0;
  if (vaL[0] < sL || vaR[0] > sR)
    success = 0;
  if (fabs(vcL[0]) > 1.0 || fabs(vcL[1]) > 1.0 || fabs(vcL[2]) > 1.0)
    success = 0;
  if (fabs(vcR[0]) > 1.0 || fabs(vcR[1]) > 1.0 || fabs(vcR[2]) > 1.0)
    success = 0;
  if (vcL[0] < sL || vcR[0] > sR)
    success = 0;
  if (KaL[0] < sL || KaR[0] > sR)
    success = 0;
  return success;
}
```