user: 请从给定的汇编指令推导出C源代码:

```asm
<test_add>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x68,%rsp
  mov    %rdi,-0xb8(%rbp)
  mov    %rsi,-0xc0(%rbp)
  mov    %rdx,-0xc8(%rbp)
  mov    %rcx,-0xd0(%rbp)
  mov    %r8,-0xd8(%rbp)
  mov    %r9,-0xe0(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0xb0(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0xac(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0xa8(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0xa4(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0xa0(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x9c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x98(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x94(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x90(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x8c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x88(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x84(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x80(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x7c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x78(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x74(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x70(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x6c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x68(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x64(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x5c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x58(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x54(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x50(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x4c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x48(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x44(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x40(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x3c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x38(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x34(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x30(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x2c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x28(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x24(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x20(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x1c(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x18(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L411
L454:
  mov    -0xc0(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    %rdx,-0xc0(%rbp)
  movss  (%rax),%xmm0
  movss  %xmm0,-0xc(%rbp)
  movss  -0xc(%rbp),%xmm0
  movd   %xmm0,%eax
  mov    %eax,%edx
  mov    %edx,%eax
  mov    %eax,-0xc(%rbp)
  mov    -0x8(%rbp),%rax
  and    $0x1,%eax
  test   %rax,%rax
  je     L1268
  movss  -0xb0(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xb0(%rbp)
L1268:
  mov    -0x8(%rbp),%rax
  and    $0x2,%eax
  test   %rax,%rax
  je     L1301
  movss  -0xac(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xac(%rbp)
L1301:
  mov    -0x8(%rbp),%rax
  and    $0x4,%eax
  test   %rax,%rax
  je     L484
  movss  -0xa8(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa8(%rbp)
L484:
  mov    -0x8(%rbp),%rax
  and    $0x8,%eax
  test   %rax,%rax
  je     L1581
  movss  -0xa4(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa4(%rbp)
L1581:
  mov    -0x8(%rbp),%rax
  and    $0x10,%eax
  test   %rax,%rax
  je     L428
  movss  -0xa0(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa0(%rbp)
L428:
  mov    -0x8(%rbp),%rax
  and    $0x20,%eax
  test   %rax,%rax
  je     L782
  movss  -0x9c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x9c(%rbp)
L782:
  mov    -0x8(%rbp),%rax
  and    $0x40,%eax
  test   %rax,%rax
  je     L250
  movss  -0x98(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x98(%rbp)
L250:
  mov    -0x8(%rbp),%rax
  and    $0x80,%eax
  test   %rax,%rax
  je     L274
  movss  -0x94(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x94(%rbp)
L274:
  mov    -0x8(%rbp),%rax
  and    $0x100,%eax
  test   %rax,%rax
  je     L878
  movss  -0x90(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x90(%rbp)
L878:
  mov    -0x8(%rbp),%rax
  and    $0x200,%eax
  test   %rax,%rax
  je     L1328
  movss  -0x8c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x8c(%rbp)
L1328:
  mov    -0x8(%rbp),%rax
  and    $0x400,%eax
  test   %rax,%rax
  je     L1637
  movss  -0x88(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x88(%rbp)
L1637:
  mov    -0x8(%rbp),%rax
  and    $0x800,%eax
  test   %rax,%rax
  je     L1028
  movss  -0x84(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x84(%rbp)
L1028:
  mov    -0x8(%rbp),%rax
  and    $0x1000,%eax
  test   %rax,%rax
  je     L775
  movss  -0x80(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x80(%rbp)
L775:
  mov    -0x8(%rbp),%rax
  and    $0x2000,%eax
  test   %rax,%rax
  je     L153
  movss  -0x7c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x7c(%rbp)
L153:
  mov    -0x8(%rbp),%rax
  and    $0x4000,%eax
  test   %rax,%rax
  je     L1034
  movss  -0x78(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x78(%rbp)
L1034:
  mov    -0x8(%rbp),%rax
  and    $0x8000,%eax
  test   %rax,%rax
  je     L556
  movss  -0x74(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x74(%rbp)
L556:
  mov    -0x8(%rbp),%rax
  and    $0x10000,%eax
  test   %rax,%rax
  je     L1424
  movss  -0x70(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x70(%rbp)
L1424:
  mov    -0x8(%rbp),%rax
  and    $0x20000,%eax
  test   %rax,%rax
  je     L1058
  movss  -0x6c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x6c(%rbp)
L1058:
  mov    -0x8(%rbp),%rax
  and    $0x40000,%eax
  test   %rax,%rax
  je     L1454
  movss  -0x68(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x68(%rbp)
L1454:
  mov    -0x8(%rbp),%rax
  and    $0x80000,%eax
  test   %rax,%rax
  je     L263
  movss  -0x64(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x64(%rbp)
L263:
  mov    -0x8(%rbp),%rax
  and    $0x100000,%eax
  test   %rax,%rax
  je     L949
  movss  -0x60(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
L949:
  mov    -0x8(%rbp),%rax
  and    $0x200000,%eax
  test   %rax,%rax
  je     L1609
  movss  -0x5c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x5c(%rbp)
L1609:
  mov    -0x8(%rbp),%rax
  and    $0x400000,%eax
  test   %rax,%rax
  je     L482
  movss  -0x58(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x58(%rbp)
L482:
  mov    -0x8(%rbp),%rax
  and    $0x800000,%eax
  test   %rax,%rax
  je     L854
  movss  -0x54(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x54(%rbp)
L854:
  mov    -0x8(%rbp),%rax
  and    $0x1000000,%eax
  test   %rax,%rax
  je     L1673
  movss  -0x50(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x50(%rbp)
L1673:
  mov    -0x8(%rbp),%rax
  and    $0x2000000,%eax
  test   %rax,%rax
  je     L1940
  movss  -0x4c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x4c(%rbp)
L1940:
  mov    -0x8(%rbp),%rax
  and    $0x4000000,%eax
  test   %rax,%rax
  je     L1523
  movss  -0x48(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x48(%rbp)
L1523:
  mov    -0x8(%rbp),%rax
  and    $0x8000000,%eax
  test   %rax,%rax
  je     L1144
  movss  -0x44(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x44(%rbp)
L1144:
  mov    -0x8(%rbp),%rax
  and    $0x10000000,%eax
  test   %rax,%rax
  je     L863
  movss  -0x40(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
L863:
  mov    -0x8(%rbp),%rax
  and    $0x20000000,%eax
  test   %rax,%rax
  je     L447
  movss  -0x3c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
L447:
  mov    -0x8(%rbp),%rax
  and    $0x40000000,%eax
  test   %rax,%rax
  je     L931
  movss  -0x38(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x38(%rbp)
L931:
  mov    -0x8(%rbp),%rax
  and    $0x80000000,%eax
  test   %rax,%rax
  je     L1964
  movss  -0x34(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x34(%rbp)
L1964:
  movabs $0x100000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L835
  movss  -0x30(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x30(%rbp)
L835:
  movabs $0x200000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1544
  movss  -0x2c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x2c(%rbp)
L1544:
  movabs $0x400000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L597
  movss  -0x28(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x28(%rbp)
L597:
  movabs $0x800000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1257
  movss  -0x24(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x24(%rbp)
L1257:
  movabs $0x1000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1789
  movss  -0x20(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x20(%rbp)
L1789:
  movabs $0x2000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1089
  movss  -0x1c(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x1c(%rbp)
L1089:
  movabs $0x4000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L125
  movss  -0x18(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x18(%rbp)
L125:
  movabs $0x8000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L411
  movss  -0x14(%rbp),%xmm0
  addss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x14(%rbp)
L411:
  mov    -0xb8(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    %rdx,-0xb8(%rbp)
  mov    (%rax),%rax
  mov    %rax,-0x8(%rbp)
  cmpq   $0x0,-0x8(%rbp)
  jne    L454
  jmp    L1931
L2084:
  mov    -0xd0(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    %rdx,-0xd0(%rbp)
  movss  (%rax),%xmm0
  movss  %xmm0,-0xc(%rbp)
  movss  -0xc(%rbp),%xmm0
  movd   %xmm0,%eax
  mov    %eax,%edx
  mov    %edx,%eax
  mov    %eax,-0xc(%rbp)
  mov    -0x8(%rbp),%rax
  and    $0x1,%eax
  test   %rax,%rax
  je     L147
  movss  -0xb0(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xb0(%rbp)
L147:
  mov    -0x8(%rbp),%rax
  and    $0x2,%eax
  test   %rax,%rax
  je     L340
  movss  -0xac(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xac(%rbp)
L340:
  mov    -0x8(%rbp),%rax
  and    $0x4,%eax
  test   %rax,%rax
  je     L2008
  movss  -0xa8(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa8(%rbp)
L2008:
  mov    -0x8(%rbp),%rax
  and    $0x8,%eax
  test   %rax,%rax
  je     L2050
  movss  -0xa4(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa4(%rbp)
L2050:
  mov    -0x8(%rbp),%rax
  and    $0x10,%eax
  test   %rax,%rax
  je     L917
  movss  -0xa0(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa0(%rbp)
L917:
  mov    -0x8(%rbp),%rax
  and    $0x20,%eax
  test   %rax,%rax
  je     L138
  movss  -0x9c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x9c(%rbp)
L138:
  mov    -0x8(%rbp),%rax
  and    $0x40,%eax
  test   %rax,%rax
  je     L73
  movss  -0x98(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x98(%rbp)
L73:
  mov    -0x8(%rbp),%rax
  and    $0x80,%eax
  test   %rax,%rax
  je     L1059
  movss  -0x94(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x94(%rbp)
L1059:
  mov    -0x8(%rbp),%rax
  and    $0x100,%eax
  test   %rax,%rax
  je     L1212
  movss  -0x90(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x90(%rbp)
L1212:
  mov    -0x8(%rbp),%rax
  and    $0x200,%eax
  test   %rax,%rax
  je     L1358
  movss  -0x8c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x8c(%rbp)
L1358:
  mov    -0x8(%rbp),%rax
  and    $0x400,%eax
  test   %rax,%rax
  je     L333
  movss  -0x88(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x88(%rbp)
L333:
  mov    -0x8(%rbp),%rax
  and    $0x800,%eax
  test   %rax,%rax
  je     L361
  movss  -0x84(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x84(%rbp)
L361:
  mov    -0x8(%rbp),%rax
  and    $0x1000,%eax
  test   %rax,%rax
  je     L224
  movss  -0x80(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x80(%rbp)
L224:
  mov    -0x8(%rbp),%rax
  and    $0x2000,%eax
  test   %rax,%rax
  je     L1919
  movss  -0x7c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x7c(%rbp)
L1919:
  mov    -0x8(%rbp),%rax
  and    $0x4000,%eax
  test   %rax,%rax
  je     L1174
  movss  -0x78(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x78(%rbp)
L1174:
  mov    -0x8(%rbp),%rax
  and    $0x8000,%eax
  test   %rax,%rax
  je     L1957
  movss  -0x74(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x74(%rbp)
L1957:
  mov    -0x8(%rbp),%rax
  and    $0x10000,%eax
  test   %rax,%rax
  je     L999
  movss  -0x70(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x70(%rbp)
L999:
  mov    -0x8(%rbp),%rax
  and    $0x20000,%eax
  test   %rax,%rax
  je     L1980
  movss  -0x6c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x6c(%rbp)
L1980:
  mov    -0x8(%rbp),%rax
  and    $0x40000,%eax
  test   %rax,%rax
  je     L798
  movss  -0x68(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x68(%rbp)
L798:
  mov    -0x8(%rbp),%rax
  and    $0x80000,%eax
  test   %rax,%rax
  je     L792
  movss  -0x64(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x64(%rbp)
L792:
  mov    -0x8(%rbp),%rax
  and    $0x100000,%eax
  test   %rax,%rax
  je     L160
  movss  -0x60(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
L160:
  mov    -0x8(%rbp),%rax
  and    $0x200000,%eax
  test   %rax,%rax
  je     L1647
  movss  -0x5c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x5c(%rbp)
L1647:
  mov    -0x8(%rbp),%rax
  and    $0x400000,%eax
  test   %rax,%rax
  je     L1194
  movss  -0x58(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x58(%rbp)
L1194:
  mov    -0x8(%rbp),%rax
  and    $0x800000,%eax
  test   %rax,%rax
  je     L1848
  movss  -0x54(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x54(%rbp)
L1848:
  mov    -0x8(%rbp),%rax
  and    $0x1000000,%eax
  test   %rax,%rax
  je     L588
  movss  -0x50(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x50(%rbp)
L588:
  mov    -0x8(%rbp),%rax
  and    $0x2000000,%eax
  test   %rax,%rax
  je     L299
  movss  -0x4c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x4c(%rbp)
L299:
  mov    -0x8(%rbp),%rax
  and    $0x4000000,%eax
  test   %rax,%rax
  je     L371
  movss  -0x48(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x48(%rbp)
L371:
  mov    -0x8(%rbp),%rax
  and    $0x8000000,%eax
  test   %rax,%rax
  je     L2093
  movss  -0x44(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x44(%rbp)
L2093:
  mov    -0x8(%rbp),%rax
  and    $0x10000000,%eax
  test   %rax,%rax
  je     L1971
  movss  -0x40(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
L1971:
  mov    -0x8(%rbp),%rax
  and    $0x20000000,%eax
  test   %rax,%rax
  je     L956
  movss  -0x3c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
L956:
  mov    -0x8(%rbp),%rax
  and    $0x40000000,%eax
  test   %rax,%rax
  je     L279
  movss  -0x38(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x38(%rbp)
L279:
  mov    -0x8(%rbp),%rax
  and    $0x80000000,%eax
  test   %rax,%rax
  je     L134
  movss  -0x34(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x34(%rbp)
L134:
  movabs $0x100000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1549
  movss  -0x30(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x30(%rbp)
L1549:
  movabs $0x200000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L967
  movss  -0x2c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x2c(%rbp)
L967:
  movabs $0x400000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1409
  movss  -0x28(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x28(%rbp)
L1409:
  movabs $0x800000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1468
  movss  -0x24(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x24(%rbp)
L1468:
  movabs $0x1000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L337
  movss  -0x20(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x20(%rbp)
L337:
  movabs $0x2000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1722
  movss  -0x1c(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x1c(%rbp)
L1722:
  movabs $0x4000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L730
  movss  -0x18(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x18(%rbp)
L730:
  movabs $0x8000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1931
  movss  -0x14(%rbp),%xmm0
  subss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x14(%rbp)
L1931:
  mov    -0xc8(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    %rdx,-0xc8(%rbp)
  mov    (%rax),%rax
  mov    %rax,-0x8(%rbp)
  cmpq   $0x0,-0x8(%rbp)
  jne    L2084
  jmp    L1151
L1327:
  mov    -0xe0(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    %rdx,-0xe0(%rbp)
  movss  (%rax),%xmm0
  movss  %xmm0,-0xc(%rbp)
  movss  -0xc(%rbp),%xmm0
  movd   %xmm0,%eax
  mov    %eax,%edx
  mov    %edx,%eax
  mov    %eax,-0xc(%rbp)
  mov    -0x8(%rbp),%rax
  and    $0x1,%eax
  test   %rax,%rax
  je     L2065
  movss  -0xb0(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xb0(%rbp)
L2065:
  mov    -0x8(%rbp),%rax
  and    $0x2,%eax
  test   %rax,%rax
  je     L727
  movss  -0xac(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xac(%rbp)
L727:
  mov    -0x8(%rbp),%rax
  and    $0x4,%eax
  test   %rax,%rax
  je     L532
  movss  -0xa8(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa8(%rbp)
L532:
  mov    -0x8(%rbp),%rax
  and    $0x8,%eax
  test   %rax,%rax
  je     L914
  movss  -0xa4(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa4(%rbp)
L914:
  mov    -0x8(%rbp),%rax
  and    $0x10,%eax
  test   %rax,%rax
  je     L1887
  movss  -0xa0(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa0(%rbp)
L1887:
  mov    -0x8(%rbp),%rax
  and    $0x20,%eax
  test   %rax,%rax
  je     L1606
  movss  -0x9c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x9c(%rbp)
L1606:
  mov    -0x8(%rbp),%rax
  and    $0x40,%eax
  test   %rax,%rax
  je     L1559
  movss  -0x98(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x98(%rbp)
L1559:
  mov    -0x8(%rbp),%rax
  and    $0x80,%eax
  test   %rax,%rax
  je     L1506
  movss  -0x94(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x94(%rbp)
L1506:
  mov    -0x8(%rbp),%rax
  and    $0x100,%eax
  test   %rax,%rax
  je     L600
  movss  -0x90(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x90(%rbp)
L600:
  mov    -0x8(%rbp),%rax
  and    $0x200,%eax
  test   %rax,%rax
  je     L24
  movss  -0x8c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x8c(%rbp)
L24:
  mov    -0x8(%rbp),%rax
  and    $0x400,%eax
  test   %rax,%rax
  je     L621
  movss  -0x88(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x88(%rbp)
L621:
  mov    -0x8(%rbp),%rax
  and    $0x800,%eax
  test   %rax,%rax
  je     L1405
  movss  -0x84(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x84(%rbp)
L1405:
  mov    -0x8(%rbp),%rax
  and    $0x1000,%eax
  test   %rax,%rax
  je     L477
  movss  -0x80(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x80(%rbp)
L477:
  mov    -0x8(%rbp),%rax
  and    $0x2000,%eax
  test   %rax,%rax
  je     L143
  movss  -0x7c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x7c(%rbp)
L143:
  mov    -0x8(%rbp),%rax
  and    $0x4000,%eax
  test   %rax,%rax
  je     L842
  movss  -0x78(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x78(%rbp)
L842:
  mov    -0x8(%rbp),%rax
  and    $0x8000,%eax
  test   %rax,%rax
  je     L32
  movss  -0x74(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x74(%rbp)
L32:
  mov    -0x8(%rbp),%rax
  and    $0x10000,%eax
  test   %rax,%rax
  je     L579
  movss  -0x70(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x70(%rbp)
L579:
  mov    -0x8(%rbp),%rax
  and    $0x20000,%eax
  test   %rax,%rax
  je     L649
  movss  -0x6c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x6c(%rbp)
L649:
  mov    -0x8(%rbp),%rax
  and    $0x40000,%eax
  test   %rax,%rax
  je     L1207
  movss  -0x68(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x68(%rbp)
L1207:
  mov    -0x8(%rbp),%rax
  and    $0x80000,%eax
  test   %rax,%rax
  je     L1594
  movss  -0x64(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x64(%rbp)
L1594:
  mov    -0x8(%rbp),%rax
  and    $0x100000,%eax
  test   %rax,%rax
  je     L1973
  movss  -0x60(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
L1973:
  mov    -0x8(%rbp),%rax
  and    $0x200000,%eax
  test   %rax,%rax
  je     L572
  movss  -0x5c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x5c(%rbp)
L572:
  mov    -0x8(%rbp),%rax
  and    $0x400000,%eax
  test   %rax,%rax
  je     L1367
  movss  -0x58(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x58(%rbp)
L1367:
  mov    -0x8(%rbp),%rax
  and    $0x800000,%eax
  test   %rax,%rax
  je     L886
  movss  -0x54(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x54(%rbp)
L886:
  mov    -0x8(%rbp),%rax
  and    $0x1000000,%eax
  test   %rax,%rax
  je     L317
  movss  -0x50(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x50(%rbp)
L317:
  mov    -0x8(%rbp),%rax
  and    $0x2000000,%eax
  test   %rax,%rax
  je     L1500
  movss  -0x4c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x4c(%rbp)
L1500:
  mov    -0x8(%rbp),%rax
  and    $0x4000000,%eax
  test   %rax,%rax
  je     L228
  movss  -0x48(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x48(%rbp)
L228:
  mov    -0x8(%rbp),%rax
  and    $0x8000000,%eax
  test   %rax,%rax
  je     L312
  movss  -0x44(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x44(%rbp)
L312:
  mov    -0x8(%rbp),%rax
  and    $0x10000000,%eax
  test   %rax,%rax
  je     L1624
  movss  -0x40(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
L1624:
  mov    -0x8(%rbp),%rax
  and    $0x20000000,%eax
  test   %rax,%rax
  je     L1258
  movss  -0x3c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
L1258:
  mov    -0x8(%rbp),%rax
  and    $0x40000000,%eax
  test   %rax,%rax
  je     L648
  movss  -0x38(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x38(%rbp)
L648:
  mov    -0x8(%rbp),%rax
  and    $0x80000000,%eax
  test   %rax,%rax
  je     L703
  movss  -0x34(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x34(%rbp)
L703:
  movabs $0x100000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L479
  movss  -0x30(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x30(%rbp)
L479:
  movabs $0x200000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L139
  movss  -0x2c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x2c(%rbp)
L139:
  movabs $0x400000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1918
  movss  -0x28(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x28(%rbp)
L1918:
  movabs $0x800000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1482
  movss  -0x24(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x24(%rbp)
L1482:
  movabs $0x1000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1191
  movss  -0x20(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x20(%rbp)
L1191:
  movabs $0x2000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1009
  movss  -0x1c(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x1c(%rbp)
L1009:
  movabs $0x4000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1801
  movss  -0x18(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x18(%rbp)
L1801:
  movabs $0x8000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1151
  movss  -0x14(%rbp),%xmm0
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x14(%rbp)
L1151:
  mov    -0xd8(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    %rdx,-0xd8(%rbp)
  mov    (%rax),%rax
  mov    %rax,-0x8(%rbp)
  cmpq   $0x0,-0x8(%rbp)
  jne    L1327
  jmp    L664
L799:
  mov    0x18(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    %rdx,0x18(%rbp)
  movss  (%rax),%xmm0
  movss  %xmm0,-0xc(%rbp)
  movss  -0xc(%rbp),%xmm0
  movd   %xmm0,%eax
  mov    %eax,%edx
  mov    %edx,%eax
  mov    %eax,-0xc(%rbp)
  mov    -0x8(%rbp),%rax
  and    $0x1,%eax
  test   %rax,%rax
  je     L1515
  movss  -0xb0(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xb0(%rbp)
L1515:
  mov    -0x8(%rbp),%rax
  and    $0x2,%eax
  test   %rax,%rax
  je     L1994
  movss  -0xac(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xac(%rbp)
L1994:
  mov    -0x8(%rbp),%rax
  and    $0x4,%eax
  test   %rax,%rax
  je     L1503
  movss  -0xa8(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa8(%rbp)
L1503:
  mov    -0x8(%rbp),%rax
  and    $0x8,%eax
  test   %rax,%rax
  je     L1195
  movss  -0xa4(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa4(%rbp)
L1195:
  mov    -0x8(%rbp),%rax
  and    $0x10,%eax
  test   %rax,%rax
  je     L1951
  movss  -0xa0(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0xa0(%rbp)
L1951:
  mov    -0x8(%rbp),%rax
  and    $0x20,%eax
  test   %rax,%rax
  je     L327
  movss  -0x9c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x9c(%rbp)
L327:
  mov    -0x8(%rbp),%rax
  and    $0x40,%eax
  test   %rax,%rax
  je     L1399
  movss  -0x98(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x98(%rbp)
L1399:
  mov    -0x8(%rbp),%rax
  and    $0x80,%eax
  test   %rax,%rax
  je     L1562
  movss  -0x94(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x94(%rbp)
L1562:
  mov    -0x8(%rbp),%rax
  and    $0x100,%eax
  test   %rax,%rax
  je     L432
  movss  -0x90(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x90(%rbp)
L432:
  mov    -0x8(%rbp),%rax
  and    $0x200,%eax
  test   %rax,%rax
  je     L1432
  movss  -0x8c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x8c(%rbp)
L1432:
  mov    -0x8(%rbp),%rax
  and    $0x400,%eax
  test   %rax,%rax
  je     L696
  movss  -0x88(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x88(%rbp)
L696:
  mov    -0x8(%rbp),%rax
  and    $0x800,%eax
  test   %rax,%rax
  je     L1015
  movss  -0x84(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x84(%rbp)
L1015:
  mov    -0x8(%rbp),%rax
  and    $0x1000,%eax
  test   %rax,%rax
  je     L1831
  movss  -0x80(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x80(%rbp)
L1831:
  mov    -0x8(%rbp),%rax
  and    $0x2000,%eax
  test   %rax,%rax
  je     L889
  movss  -0x7c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x7c(%rbp)
L889:
  mov    -0x8(%rbp),%rax
  and    $0x4000,%eax
  test   %rax,%rax
  je     L444
  movss  -0x78(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x78(%rbp)
L444:
  mov    -0x8(%rbp),%rax
  and    $0x8000,%eax
  test   %rax,%rax
  je     L635
  movss  -0x74(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x74(%rbp)
L635:
  mov    -0x8(%rbp),%rax
  and    $0x10000,%eax
  test   %rax,%rax
  je     L185
  movss  -0x70(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x70(%rbp)
L185:
  mov    -0x8(%rbp),%rax
  and    $0x20000,%eax
  test   %rax,%rax
  je     L1938
  movss  -0x6c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x6c(%rbp)
L1938:
  mov    -0x8(%rbp),%rax
  and    $0x40000,%eax
  test   %rax,%rax
  je     L781
  movss  -0x68(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x68(%rbp)
L781:
  mov    -0x8(%rbp),%rax
  and    $0x80000,%eax
  test   %rax,%rax
  je     L1897
  movss  -0x64(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x64(%rbp)
L1897:
  mov    -0x8(%rbp),%rax
  and    $0x100000,%eax
  test   %rax,%rax
  je     L1742
  movss  -0x60(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x60(%rbp)
L1742:
  mov    -0x8(%rbp),%rax
  and    $0x200000,%eax
  test   %rax,%rax
  je     L1488
  movss  -0x5c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x5c(%rbp)
L1488:
  mov    -0x8(%rbp),%rax
  and    $0x400000,%eax
  test   %rax,%rax
  je     L950
  movss  -0x58(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x58(%rbp)
L950:
  mov    -0x8(%rbp),%rax
  and    $0x800000,%eax
  test   %rax,%rax
  je     L1200
  movss  -0x54(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x54(%rbp)
L1200:
  mov    -0x8(%rbp),%rax
  and    $0x1000000,%eax
  test   %rax,%rax
  je     L191
  movss  -0x50(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x50(%rbp)
L191:
  mov    -0x8(%rbp),%rax
  and    $0x2000000,%eax
  test   %rax,%rax
  je     L381
  movss  -0x4c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x4c(%rbp)
L381:
  mov    -0x8(%rbp),%rax
  and    $0x4000000,%eax
  test   %rax,%rax
  je     L643
  movss  -0x48(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x48(%rbp)
L643:
  mov    -0x8(%rbp),%rax
  and    $0x8000000,%eax
  test   %rax,%rax
  je     L1540
  movss  -0x44(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x44(%rbp)
L1540:
  mov    -0x8(%rbp),%rax
  and    $0x10000000,%eax
  test   %rax,%rax
  je     L1875
  movss  -0x40(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x40(%rbp)
L1875:
  mov    -0x8(%rbp),%rax
  and    $0x20000000,%eax
  test   %rax,%rax
  je     L720
  movss  -0x3c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x3c(%rbp)
L720:
  mov    -0x8(%rbp),%rax
  and    $0x40000000,%eax
  test   %rax,%rax
  je     L759
  movss  -0x38(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x38(%rbp)
L759:
  mov    -0x8(%rbp),%rax
  and    $0x80000000,%eax
  test   %rax,%rax
  je     L346
  movss  -0x34(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x34(%rbp)
L346:
  movabs $0x100000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L685
  movss  -0x30(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x30(%rbp)
L685:
  movabs $0x200000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L15
  movss  -0x2c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x2c(%rbp)
L15:
  movabs $0x400000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L49
  movss  -0x28(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x28(%rbp)
L49:
  movabs $0x800000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L440
  movss  -0x24(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x24(%rbp)
L440:
  movabs $0x1000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1125
  movss  -0x20(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x20(%rbp)
L1125:
  movabs $0x2000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1029
  movss  -0x1c(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x1c(%rbp)
L1029:
  movabs $0x4000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1578
  movss  -0x18(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x18(%rbp)
L1578:
  movabs $0x8000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L664
  movss  -0x14(%rbp),%xmm0
  divss  -0xc(%rbp),%xmm0
  movss  %xmm0,-0x14(%rbp)
L664:
  mov    0x10(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    %rdx,0x10(%rbp)
  mov    (%rax),%rax
  mov    %rax,-0x8(%rbp)
  cmpq   $0x0,-0x8(%rbp)
  jne    L799
  jmp    L395
L344:
  movl   $0x0,-0x10(%rbp)
  mov    -0x8(%rbp),%rax
  and    $0x1,%eax
  test   %rax,%rax
  je     L1444
  pxor   %xmm0,%xmm0
  ucomiss -0xb0(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0xb0(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1444:
  mov    -0x8(%rbp),%rax
  and    $0x2,%eax
  test   %rax,%rax
  je     L421
  pxor   %xmm0,%xmm0
  ucomiss -0xac(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0xac(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L421:
  mov    -0x8(%rbp),%rax
  and    $0x4,%eax
  test   %rax,%rax
  je     L1135
  pxor   %xmm0,%xmm0
  ucomiss -0xa8(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0xa8(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1135:
  mov    -0x8(%rbp),%rax
  and    $0x8,%eax
  test   %rax,%rax
  je     L1161
  pxor   %xmm0,%xmm0
  ucomiss -0xa4(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0xa4(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1161:
  mov    -0x8(%rbp),%rax
  and    $0x10,%eax
  test   %rax,%rax
  je     L1836
  pxor   %xmm0,%xmm0
  ucomiss -0xa0(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0xa0(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1836:
  mov    -0x8(%rbp),%rax
  and    $0x20,%eax
  test   %rax,%rax
  je     L1315
  pxor   %xmm0,%xmm0
  ucomiss -0x9c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x9c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1315:
  mov    -0x8(%rbp),%rax
  and    $0x40,%eax
  test   %rax,%rax
  je     L698
  pxor   %xmm0,%xmm0
  ucomiss -0x98(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x98(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L698:
  mov    -0x8(%rbp),%rax
  and    $0x80,%eax
  test   %rax,%rax
  je     L1896
  pxor   %xmm0,%xmm0
  ucomiss -0x94(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x94(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1896:
  mov    -0x8(%rbp),%rax
  and    $0x100,%eax
  test   %rax,%rax
  je     L257
  pxor   %xmm0,%xmm0
  ucomiss -0x90(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x90(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L257:
  mov    -0x8(%rbp),%rax
  and    $0x200,%eax
  test   %rax,%rax
  je     L882
  pxor   %xmm0,%xmm0
  ucomiss -0x8c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x8c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L882:
  mov    -0x8(%rbp),%rax
  and    $0x400,%eax
  test   %rax,%rax
  je     L354
  pxor   %xmm0,%xmm0
  ucomiss -0x88(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x88(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L354:
  mov    -0x8(%rbp),%rax
  and    $0x800,%eax
  test   %rax,%rax
  je     L498
  pxor   %xmm0,%xmm0
  ucomiss -0x84(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x84(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L498:
  mov    -0x8(%rbp),%rax
  and    $0x1000,%eax
  test   %rax,%rax
  je     L1465
  pxor   %xmm0,%xmm0
  ucomiss -0x80(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x80(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1465:
  mov    -0x8(%rbp),%rax
  and    $0x2000,%eax
  test   %rax,%rax
  je     L1939
  pxor   %xmm0,%xmm0
  ucomiss -0x7c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x7c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1939:
  mov    -0x8(%rbp),%rax
  and    $0x4000,%eax
  test   %rax,%rax
  je     L1064
  pxor   %xmm0,%xmm0
  ucomiss -0x78(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x78(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1064:
  mov    -0x8(%rbp),%rax
  and    $0x8000,%eax
  test   %rax,%rax
  je     L1795
  pxor   %xmm0,%xmm0
  ucomiss -0x74(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x74(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1795:
  mov    -0x8(%rbp),%rax
  and    $0x10000,%eax
  test   %rax,%rax
  je     L611
  pxor   %xmm0,%xmm0
  ucomiss -0x70(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x70(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L611:
  mov    -0x8(%rbp),%rax
  and    $0x20000,%eax
  test   %rax,%rax
  je     L1245
  pxor   %xmm0,%xmm0
  ucomiss -0x6c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x6c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1245:
  mov    -0x8(%rbp),%rax
  and    $0x40000,%eax
  test   %rax,%rax
  je     L1256
  pxor   %xmm0,%xmm0
  ucomiss -0x68(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x68(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1256:
  mov    -0x8(%rbp),%rax
  and    $0x80000,%eax
  test   %rax,%rax
  je     L1714
  pxor   %xmm0,%xmm0
  ucomiss -0x64(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x64(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1714:
  mov    -0x8(%rbp),%rax
  and    $0x100000,%eax
  test   %rax,%rax
  je     L584
  pxor   %xmm0,%xmm0
  ucomiss -0x60(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x60(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L584:
  mov    -0x8(%rbp),%rax
  and    $0x200000,%eax
  test   %rax,%rax
  je     L31
  pxor   %xmm0,%xmm0
  ucomiss -0x5c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x5c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L31:
  mov    -0x8(%rbp),%rax
  and    $0x400000,%eax
  test   %rax,%rax
  je     L1614
  pxor   %xmm0,%xmm0
  ucomiss -0x58(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x58(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1614:
  mov    -0x8(%rbp),%rax
  and    $0x800000,%eax
  test   %rax,%rax
  je     L680
  pxor   %xmm0,%xmm0
  ucomiss -0x54(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x54(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L680:
  mov    -0x8(%rbp),%rax
  and    $0x1000000,%eax
  test   %rax,%rax
  je     L1665
  pxor   %xmm0,%xmm0
  ucomiss -0x50(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x50(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1665:
  mov    -0x8(%rbp),%rax
  and    $0x2000000,%eax
  test   %rax,%rax
  je     L74
  pxor   %xmm0,%xmm0
  ucomiss -0x4c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x4c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L74:
  mov    -0x8(%rbp),%rax
  and    $0x4000000,%eax
  test   %rax,%rax
  je     L1014
  pxor   %xmm0,%xmm0
  ucomiss -0x48(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x48(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1014:
  mov    -0x8(%rbp),%rax
  and    $0x8000000,%eax
  test   %rax,%rax
  je     L682
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x44(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L682:
  mov    -0x8(%rbp),%rax
  and    $0x10000000,%eax
  test   %rax,%rax
  je     L672
  pxor   %xmm0,%xmm0
  ucomiss -0x40(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x40(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L672:
  mov    -0x8(%rbp),%rax
  and    $0x20000000,%eax
  test   %rax,%rax
  je     L2038
  pxor   %xmm0,%xmm0
  ucomiss -0x3c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x3c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L2038:
  mov    -0x8(%rbp),%rax
  and    $0x40000000,%eax
  test   %rax,%rax
  je     L1216
  pxor   %xmm0,%xmm0
  ucomiss -0x38(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x38(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1216:
  mov    -0x8(%rbp),%rax
  and    $0x80000000,%eax
  test   %rax,%rax
  je     L1354
  pxor   %xmm0,%xmm0
  ucomiss -0x34(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x34(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1354:
  movabs $0x100000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L773
  pxor   %xmm0,%xmm0
  ucomiss -0x30(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x30(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L773:
  movabs $0x200000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L652
  pxor   %xmm0,%xmm0
  ucomiss -0x2c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x2c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L652:
  movabs $0x400000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L390
  pxor   %xmm0,%xmm0
  ucomiss -0x28(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x28(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L390:
  movabs $0x800000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1804
  pxor   %xmm0,%xmm0
  ucomiss -0x24(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x24(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1804:
  movabs $0x1000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1738
  pxor   %xmm0,%xmm0
  ucomiss -0x20(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x20(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1738:
  movabs $0x2000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L774
  pxor   %xmm0,%xmm0
  ucomiss -0x1c(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x1c(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L774:
  movabs $0x4000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L1777
  pxor   %xmm0,%xmm0
  ucomiss -0x18(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x18(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L1777:
  movabs $0x8000000000,%rax
  and    -0x8(%rbp),%rax
  test   %rax,%rax
  je     L778
  pxor   %xmm0,%xmm0
  ucomiss -0x14(%rbp),%xmm0
  setnp  %al
  mov    $0x0,%edx
  pxor   %xmm0,%xmm0
  ucomiss -0x14(%rbp),%xmm0
  cmovne %edx,%eax
  movzbl %al,%eax
  or     %eax,-0x10(%rbp)
L778:
  mov    0x28(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    %rdx,0x28(%rbp)
  mov    -0x10(%rbp),%edx
  mov    %edx,(%rax)
L395:
  mov    0x20(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    %rdx,0x20(%rbp)
  mov    (%rax),%rax
  mov    %rax,-0x8(%rbp)
  cmpq   $0x0,-0x8(%rbp)
  jne    L344
  movss  -0xb0(%rbp),%xmm0
  addss  -0xac(%rbp),%xmm0
  addss  -0xa8(%rbp),%xmm0
  addss  -0xa4(%rbp),%xmm0
  addss  -0xa0(%rbp),%xmm0
  addss  -0x9c(%rbp),%xmm0
  addss  -0x98(%rbp),%xmm0
  addss  -0x94(%rbp),%xmm0
  addss  -0x90(%rbp),%xmm0
  addss  -0x8c(%rbp),%xmm0
  addss  -0x88(%rbp),%xmm0
  addss  -0x84(%rbp),%xmm0
  addss  -0x80(%rbp),%xmm0
  addss  -0x7c(%rbp),%xmm0
  addss  -0x78(%rbp),%xmm0
  addss  -0x74(%rbp),%xmm0
  addss  -0x70(%rbp),%xmm0
  addss  -0x6c(%rbp),%xmm0
  addss  -0x68(%rbp),%xmm0
  addss  -0x64(%rbp),%xmm0
  addss  -0x60(%rbp),%xmm0
  addss  -0x5c(%rbp),%xmm0
  addss  -0x58(%rbp),%xmm0
  addss  -0x54(%rbp),%xmm0
  addss  -0x50(%rbp),%xmm0
  addss  -0x4c(%rbp),%xmm0
  addss  -0x48(%rbp),%xmm0
  addss  -0x44(%rbp),%xmm0
  addss  -0x40(%rbp),%xmm0
  addss  -0x3c(%rbp),%xmm0
  addss  -0x38(%rbp),%xmm0
  addss  -0x34(%rbp),%xmm0
  addss  -0x30(%rbp),%xmm0
  addss  -0x2c(%rbp),%xmm0
  addss  -0x28(%rbp),%xmm0
  addss  -0x24(%rbp),%xmm0
  addss  -0x20(%rbp),%xmm0
  addss  -0x1c(%rbp),%xmm0
  addss  -0x18(%rbp),%xmm0
  addss  -0x14(%rbp),%xmm0
  leave
  ret
```

assistant: ```c
float test_add(const unsigned long long *add_mask, const float *add_values, const unsigned long long *sub_mask, const float *sub_values, const unsigned long long *mul_mask, const float *mul_values, const unsigned long long *div_mask, const float *div_values, const unsigned long long *eq0_mask, int *eq0_ptr) {
  float value;
  float value00 = ((float)0.0);
  float value01 = ((float)0.0);
  float value02 = ((float)0.0);
  float value03 = ((float)0.0);
  float value04 = ((float)0.0);
  float value05 = ((float)0.0);
  float value06 = ((float)0.0);
  float value07 = ((float)0.0);
  float value08 = ((float)0.0);
  float value09 = ((float)0.0);
  float value10 = ((float)0.0);
  float value11 = ((float)0.0);
  float value12 = ((float)0.0);
  float value13 = ((float)0.0);
  float value14 = ((float)0.0);
  float value15 = ((float)0.0);
  float value16 = ((float)0.0);
  float value17 = ((float)0.0);
  float value18 = ((float)0.0);
  float value19 = ((float)0.0);
  float value20 = ((float)0.0);
  float value21 = ((float)0.0);
  float value22 = ((float)0.0);
  float value23 = ((float)0.0);
  float value24 = ((float)0.0);
  float value25 = ((float)0.0);
  float value26 = ((float)0.0);
  float value27 = ((float)0.0);
  float value28 = ((float)0.0);
  float value29 = ((float)0.0);
  float value30 = ((float)0.0);
  float value31 = ((float)0.0);
  float value32 = ((float)0.0);
  float value33 = ((float)0.0);
  float value34 = ((float)0.0);
  float value35 = ((float)0.0);
  float value36 = ((float)0.0);
  float value37 = ((float)0.0);
  float value38 = ((float)0.0);
  float value39 = ((float)0.0);
  unsigned long long mask;
  int eq0;
  while ((mask = *add_mask++) != 0) {
    value = *add_values++;
    __asm__(" #reg %0" : "+d"(value));
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      value00 += value;
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      value01 += value;
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      value02 += value;
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      value03 += value;
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      value04 += value;
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      value05 += value;
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      value06 += value;
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      value07 += value;
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      value08 += value;
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      value09 += value;
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      value10 += value;
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      value11 += value;
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      value12 += value;
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      value13 += value;
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      value14 += value;
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      value15 += value;
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      value16 += value;
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      value17 += value;
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      value18 += value;
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      value19 += value;
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      value20 += value;
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      value21 += value;
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      value22 += value;
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      value23 += value;
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      value24 += value;
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      value25 += value;
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      value26 += value;
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      value27 += value;
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      value28 += value;
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      value29 += value;
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      value30 += value;
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      value31 += value;
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      value32 += value;
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      value33 += value;
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      value34 += value;
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      value35 += value;
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      value36 += value;
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      value37 += value;
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      value38 += value;
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      value39 += value;
  }
  while ((mask = *sub_mask++) != 0) {
    value = *sub_values++;
    __asm__(" #reg %0" : "+d"(value));
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      value00 -= value;
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      value01 -= value;
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      value02 -= value;
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      value03 -= value;
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      value04 -= value;
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      value05 -= value;
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      value06 -= value;
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      value07 -= value;
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      value08 -= value;
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      value09 -= value;
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      value10 -= value;
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      value11 -= value;
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      value12 -= value;
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      value13 -= value;
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      value14 -= value;
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      value15 -= value;
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      value16 -= value;
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      value17 -= value;
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      value18 -= value;
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      value19 -= value;
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      value20 -= value;
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      value21 -= value;
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      value22 -= value;
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      value23 -= value;
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      value24 -= value;
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      value25 -= value;
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      value26 -= value;
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      value27 -= value;
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      value28 -= value;
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      value29 -= value;
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      value30 -= value;
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      value31 -= value;
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      value32 -= value;
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      value33 -= value;
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      value34 -= value;
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      value35 -= value;
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      value36 -= value;
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      value37 -= value;
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      value38 -= value;
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      value39 -= value;
  }
  while ((mask = *mul_mask++) != 0) {
    value = *mul_values++;
    __asm__(" #reg %0" : "+d"(value));
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      value00 *= value;
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      value01 *= value;
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      value02 *= value;
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      value03 *= value;
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      value04 *= value;
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      value05 *= value;
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      value06 *= value;
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      value07 *= value;
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      value08 *= value;
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      value09 *= value;
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      value10 *= value;
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      value11 *= value;
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      value12 *= value;
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      value13 *= value;
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      value14 *= value;
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      value15 *= value;
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      value16 *= value;
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      value17 *= value;
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      value18 *= value;
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      value19 *= value;
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      value20 *= value;
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      value21 *= value;
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      value22 *= value;
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      value23 *= value;
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      value24 *= value;
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      value25 *= value;
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      value26 *= value;
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      value27 *= value;
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      value28 *= value;
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      value29 *= value;
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      value30 *= value;
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      value31 *= value;
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      value32 *= value;
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      value33 *= value;
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      value34 *= value;
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      value35 *= value;
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      value36 *= value;
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      value37 *= value;
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      value38 *= value;
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      value39 *= value;
  }
  while ((mask = *div_mask++) != 0) {
    value = *div_values++;
    __asm__(" #reg %0" : "+d"(value));
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      value00 /= value;
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      value01 /= value;
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      value02 /= value;
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      value03 /= value;
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      value04 /= value;
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      value05 /= value;
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      value06 /= value;
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      value07 /= value;
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      value08 /= value;
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      value09 /= value;
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      value10 /= value;
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      value11 /= value;
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      value12 /= value;
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      value13 /= value;
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      value14 /= value;
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      value15 /= value;
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      value16 /= value;
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      value17 /= value;
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      value18 /= value;
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      value19 /= value;
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      value20 /= value;
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      value21 /= value;
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      value22 /= value;
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      value23 /= value;
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      value24 /= value;
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      value25 /= value;
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      value26 /= value;
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      value27 /= value;
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      value28 /= value;
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      value29 /= value;
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      value30 /= value;
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      value31 /= value;
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      value32 /= value;
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      value33 /= value;
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      value34 /= value;
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      value35 /= value;
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      value36 /= value;
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      value37 /= value;
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      value38 /= value;
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      value39 /= value;
  }
  while ((mask = *eq0_mask++) != 0) {
    eq0 = 0;
    if ((mask & (((unsigned long long)1) << 0)) != 0)
      eq0 |= (value00 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 1)) != 0)
      eq0 |= (value01 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 2)) != 0)
      eq0 |= (value02 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 3)) != 0)
      eq0 |= (value03 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 4)) != 0)
      eq0 |= (value04 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 5)) != 0)
      eq0 |= (value05 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 6)) != 0)
      eq0 |= (value06 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 7)) != 0)
      eq0 |= (value07 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 8)) != 0)
      eq0 |= (value08 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 9)) != 0)
      eq0 |= (value09 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 10)) != 0)
      eq0 |= (value10 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 11)) != 0)
      eq0 |= (value11 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 12)) != 0)
      eq0 |= (value12 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 13)) != 0)
      eq0 |= (value13 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 14)) != 0)
      eq0 |= (value14 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 15)) != 0)
      eq0 |= (value15 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 16)) != 0)
      eq0 |= (value16 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 17)) != 0)
      eq0 |= (value17 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 18)) != 0)
      eq0 |= (value18 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 19)) != 0)
      eq0 |= (value19 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 20)) != 0)
      eq0 |= (value20 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 21)) != 0)
      eq0 |= (value21 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 22)) != 0)
      eq0 |= (value22 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 23)) != 0)
      eq0 |= (value23 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 24)) != 0)
      eq0 |= (value24 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 25)) != 0)
      eq0 |= (value25 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 26)) != 0)
      eq0 |= (value26 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 27)) != 0)
      eq0 |= (value27 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 28)) != 0)
      eq0 |= (value28 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 29)) != 0)
      eq0 |= (value29 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 30)) != 0)
      eq0 |= (value30 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 31)) != 0)
      eq0 |= (value31 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 32)) != 0)
      eq0 |= (value32 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 33)) != 0)
      eq0 |= (value33 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 34)) != 0)
      eq0 |= (value34 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 35)) != 0)
      eq0 |= (value35 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 36)) != 0)
      eq0 |= (value36 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 37)) != 0)
      eq0 |= (value37 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 38)) != 0)
      eq0 |= (value38 == ((float)0.0));
    if ((mask & (((unsigned long long)1) << 39)) != 0)
      eq0 |= (value39 == ((float)0.0));
    *eq0_ptr++ = eq0;
  }
  return (value00 + value01 + value02 + value03 + value04 + value05 + value06 + value07 + value08 + value09 + value10 + value11 + value12 + value13 + value14 + value15 + value16 + value17 + value18 + value19 + value20 + value21 + value22 + value23 + value24 + value25 + value26 + value27 + value28 + value29 + value30 + value31 + value32 + value33 + value34 + value35 + value36 + value37 + value38 + value39);
}
```