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

```asm
<test_add>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rsi,%r10
  mov    %rdx,-0x8(%rsp)
  mov    %rcx,%rsi
  mov    %r8,%r15
  mov    0x40(%rsp),%r14
  mov    (%rdi),%rax
  test   %rax,%rax
  je     L1670
  mov    $0x0,%ecx
  pxor   %xmm2,%xmm2
  movss  %xmm2,-0x10(%rsp)
  movss  %xmm2,-0x14(%rsp)
  movss  %xmm2,-0x18(%rsp)
  movss  %xmm2,-0x1c(%rsp)
  movss  %xmm2,-0x20(%rsp)
  movss  %xmm2,-0x24(%rsp)
  movss  %xmm2,-0x28(%rsp)
  movss  %xmm2,-0x2c(%rsp)
  movss  %xmm2,-0x30(%rsp)
  movss  %xmm2,-0x34(%rsp)
  movss  %xmm2,-0x38(%rsp)
  movss  %xmm2,-0x3c(%rsp)
  movss  %xmm2,-0x40(%rsp)
  movss  %xmm2,-0x44(%rsp)
  movss  %xmm2,-0x48(%rsp)
  movss  %xmm2,-0x4c(%rsp)
  movss  %xmm2,-0x50(%rsp)
  movss  %xmm2,-0x54(%rsp)
  movss  %xmm2,-0x58(%rsp)
  movss  %xmm2,-0x5c(%rsp)
  movss  %xmm2,-0x60(%rsp)
  movss  %xmm2,-0x64(%rsp)
  movss  %xmm2,-0x68(%rsp)
  movss  %xmm2,-0x6c(%rsp)
  movss  %xmm2,-0x70(%rsp)
  movaps %xmm2,%xmm3
  movaps %xmm2,%xmm4
  movaps %xmm2,%xmm5
  movaps %xmm2,%xmm6
  movaps %xmm2,%xmm7
  movaps %xmm2,%xmm8
  movaps %xmm2,%xmm9
  movaps %xmm2,%xmm10
  movaps %xmm2,%xmm11
  movaps %xmm2,%xmm12
  movaps %xmm2,%xmm13
  movaps %xmm2,%xmm14
  movaps %xmm2,%xmm15
  movabs $0x400000000,%r13
  movabs $0x800000000,%r12
  movabs $0x1000000000,%rbp
  movabs $0x2000000000,%rbx
  movabs $0x4000000000,%r11
  movabs $0x8000000000,%r8
  movss  %xmm2,-0xc(%rsp)
  jmp    L979
L642:
  add    $0x4,%rcx
  mov    (%rdi,%rcx,2),%rax
  test   %rax,%rax
  je     L517
L979:
  movss  (%r10,%rcx,1),%xmm0
  movd   %xmm0,%edx
  movd   %edx,%xmm0
  test   $0x1,%al
  je     L907
  movss  -0xc(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0xc(%rsp)
L907:
  test   $0x2,%al
  je     L1083
  addss  %xmm0,%xmm15
L1083:
  test   $0x4,%al
  je     L1798
  addss  %xmm0,%xmm14
L1798:
  test   $0x8,%al
  je     L56
  addss  %xmm0,%xmm13
L56:
  test   $0x10,%al
  je     L521
  addss  %xmm0,%xmm12
L521:
  test   $0x20,%al
  je     L924
  addss  %xmm0,%xmm11
L924:
  test   $0x40,%al
  je     L1411
  addss  %xmm0,%xmm10
L1411:
  test   $0x80,%al
  je     L457
  addss  %xmm0,%xmm9
L457:
  test   $0x1,%ah
  je     L11
  addss  %xmm0,%xmm8
L11:
  test   $0x2,%ah
  je     L731
  addss  %xmm0,%xmm7
L731:
  test   $0x4,%ah
  je     L1274
  addss  %xmm0,%xmm6
L1274:
  test   $0x8,%ah
  je     L590
  addss  %xmm0,%xmm5
L590:
  test   $0x10,%ah
  je     L1795
  addss  %xmm0,%xmm4
L1795:
  test   $0x20,%ah
  je     L1255
  addss  %xmm0,%xmm3
L1255:
  test   $0x40,%ah
  je     L705
  movss  -0x70(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x70(%rsp)
L705:
  test   $0x80,%ah
  je     L1548
  movss  -0x6c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x6c(%rsp)
L1548:
  test   $0x10000,%eax
  je     L566
  movss  -0x68(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x68(%rsp)
L566:
  test   $0x20000,%eax
  je     L1677
  movss  -0x64(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x64(%rsp)
L1677:
  test   $0x40000,%eax
  je     L880
  movss  -0x60(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x60(%rsp)
L880:
  test   $0x80000,%eax
  je     L1085
  movss  -0x5c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x5c(%rsp)
L1085:
  test   $0x100000,%eax
  je     L710
  movss  -0x58(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x58(%rsp)
L710:
  test   $0x200000,%eax
  je     L1036
  movss  -0x54(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x54(%rsp)
L1036:
  test   $0x400000,%eax
  je     L1758
  movss  -0x50(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x50(%rsp)
L1758:
  test   $0x800000,%eax
  je     L1283
  movss  -0x4c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x4c(%rsp)
L1283:
  test   $0x1000000,%eax
  je     L2023
  movss  -0x48(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x48(%rsp)
L2023:
  test   $0x2000000,%eax
  je     L1703
  movss  -0x44(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x44(%rsp)
L1703:
  test   $0x4000000,%eax
  je     L2005
  movss  -0x40(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x40(%rsp)
L2005:
  test   $0x8000000,%eax
  je     L1491
  movss  -0x3c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x3c(%rsp)
L1491:
  test   $0x10000000,%eax
  je     L987
  movss  -0x38(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x38(%rsp)
L987:
  test   $0x20000000,%eax
  je     L1438
  movss  -0x34(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x34(%rsp)
L1438:
  test   $0x40000000,%eax
  je     L1668
  movss  -0x30(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x30(%rsp)
L1668:
  test   $0x80000000,%eax
  je     L461
  movss  -0x2c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x2c(%rsp)
L461:
  movabs $0x100000000,%rdx
  test   %rdx,%rax
  je     L1334
  movss  -0x28(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x28(%rsp)
L1334:
  movabs $0x200000000,%rdx
  test   %rdx,%rax
  je     L1323
  movss  -0x24(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x24(%rsp)
L1323:
  test   %r13,%rax
  je     L1136
  movss  -0x20(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x20(%rsp)
L1136:
  test   %r12,%rax
  je     L968
  movss  -0x1c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x1c(%rsp)
L968:
  test   %rbp,%rax
  je     L1436
  movss  -0x18(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x18(%rsp)
L1436:
  test   %rbx,%rax
  je     L485
  movss  -0x14(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x14(%rsp)
L485:
  test   %r11,%rax
  je     L1375
  movss  -0x10(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x10(%rsp)
L1375:
  test   %r8,%rax
  je     L642
  addss  %xmm0,%xmm2
  jmp    L642
L517:
  movss  -0xc(%rsp),%xmm1
L1631:
  mov    -0x8(%rsp),%rdx
  mov    (%rdx),%rax
  test   %rax,%rax
  je     L861
  mov    $0x0,%ecx
  movabs $0x100000000,%r13
  movabs $0x200000000,%r12
  movabs $0x400000000,%rbp
  movabs $0x800000000,%rbx
  movabs $0x1000000000,%r11
  movabs $0x2000000000,%r10
  movabs $0x4000000000,%r8
  movabs $0x8000000000,%rdi
  movss  %xmm1,-0xc(%rsp)
  mov    %r15,-0x8(%rsp)
  mov    %rdx,%r15
  jmp    L575
L1670:
  pxor   %xmm2,%xmm2
  movss  %xmm2,-0x10(%rsp)
  movss  %xmm2,-0x14(%rsp)
  movss  %xmm2,-0x18(%rsp)
  movss  %xmm2,-0x1c(%rsp)
  movss  %xmm2,-0x20(%rsp)
  movss  %xmm2,-0x24(%rsp)
  movss  %xmm2,-0x28(%rsp)
  movss  %xmm2,-0x2c(%rsp)
  movss  %xmm2,-0x30(%rsp)
  movss  %xmm2,-0x34(%rsp)
  movss  %xmm2,-0x38(%rsp)
  movss  %xmm2,-0x3c(%rsp)
  movss  %xmm2,-0x40(%rsp)
  movss  %xmm2,-0x44(%rsp)
  movss  %xmm2,-0x48(%rsp)
  movss  %xmm2,-0x4c(%rsp)
  movss  %xmm2,-0x50(%rsp)
  movss  %xmm2,-0x54(%rsp)
  movss  %xmm2,-0x58(%rsp)
  movss  %xmm2,-0x5c(%rsp)
  movss  %xmm2,-0x60(%rsp)
  movss  %xmm2,-0x64(%rsp)
  movss  %xmm2,-0x68(%rsp)
  movss  %xmm2,-0x6c(%rsp)
  movss  %xmm2,-0x70(%rsp)
  movaps %xmm2,%xmm3
  movaps %xmm2,%xmm4
  movaps %xmm2,%xmm5
  movaps %xmm2,%xmm6
  movaps %xmm2,%xmm7
  movaps %xmm2,%xmm8
  movaps %xmm2,%xmm9
  movaps %xmm2,%xmm10
  movaps %xmm2,%xmm11
  movaps %xmm2,%xmm12
  movaps %xmm2,%xmm13
  movaps %xmm2,%xmm14
  movaps %xmm2,%xmm15
  movaps %xmm2,%xmm1
  jmp    L1631
L915:
  add    $0x4,%rcx
  mov    (%r15,%rcx,2),%rax
  test   %rax,%rax
  je     L1269
L575:
  movss  (%rsi,%rcx,1),%xmm0
  movd   %xmm0,%edx
  movd   %edx,%xmm0
  test   $0x1,%al
  je     L1355
  movss  -0xc(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0xc(%rsp)
L1355:
  test   $0x2,%al
  je     L760
  subss  %xmm0,%xmm15
L760:
  test   $0x4,%al
  je     L1006
  subss  %xmm0,%xmm14
L1006:
  test   $0x8,%al
  je     L1290
  subss  %xmm0,%xmm13
L1290:
  test   $0x10,%al
  je     L736
  subss  %xmm0,%xmm12
L736:
  test   $0x20,%al
  je     L193
  subss  %xmm0,%xmm11
L193:
  test   $0x40,%al
  je     L1189
  subss  %xmm0,%xmm10
L1189:
  test   $0x80,%al
  je     L520
  subss  %xmm0,%xmm9
L520:
  test   $0x1,%ah
  je     L468
  subss  %xmm0,%xmm8
L468:
  test   $0x2,%ah
  je     L1044
  subss  %xmm0,%xmm7
L1044:
  test   $0x4,%ah
  je     L1681
  subss  %xmm0,%xmm6
L1681:
  test   $0x8,%ah
  je     L282
  subss  %xmm0,%xmm5
L282:
  test   $0x10,%ah
  je     L1684
  subss  %xmm0,%xmm4
L1684:
  test   $0x20,%ah
  je     L689
  subss  %xmm0,%xmm3
L689:
  test   $0x40,%ah
  je     L403
  movss  -0x70(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x70(%rsp)
L403:
  test   $0x80,%ah
  je     L2204
  movss  -0x6c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x6c(%rsp)
L2204:
  test   $0x10000,%eax
  je     L1067
  movss  -0x68(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x68(%rsp)
L1067:
  test   $0x20000,%eax
  je     L1165
  movss  -0x64(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x64(%rsp)
L1165:
  test   $0x40000,%eax
  je     L1788
  movss  -0x60(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x60(%rsp)
L1788:
  test   $0x80000,%eax
  je     L1023
  movss  -0x5c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x5c(%rsp)
L1023:
  test   $0x100000,%eax
  je     L1514
  movss  -0x58(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x58(%rsp)
L1514:
  test   $0x200000,%eax
  je     L304
  movss  -0x54(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x54(%rsp)
L304:
  test   $0x400000,%eax
  je     L1835
  movss  -0x50(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x50(%rsp)
L1835:
  test   $0x800000,%eax
  je     L450
  movss  -0x4c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x4c(%rsp)
L450:
  test   $0x1000000,%eax
  je     L1341
  movss  -0x48(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x48(%rsp)
L1341:
  test   $0x2000000,%eax
  je     L637
  movss  -0x44(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x44(%rsp)
L637:
  test   $0x4000000,%eax
  je     L35
  movss  -0x40(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x40(%rsp)
L35:
  test   $0x8000000,%eax
  je     L2021
  movss  -0x3c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x3c(%rsp)
L2021:
  test   $0x10000000,%eax
  je     L708
  movss  -0x38(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x38(%rsp)
L708:
  test   $0x20000000,%eax
  je     L1268
  movss  -0x34(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x34(%rsp)
L1268:
  test   $0x40000000,%eax
  je     L1750
  movss  -0x30(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x30(%rsp)
L1750:
  test   $0x80000000,%eax
  je     L322
  movss  -0x2c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x2c(%rsp)
L322:
  test   %r13,%rax
  je     L1216
  movss  -0x28(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x28(%rsp)
L1216:
  test   %r12,%rax
  je     L456
  movss  -0x24(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x24(%rsp)
L456:
  test   %rbp,%rax
  je     L580
  movss  -0x20(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x20(%rsp)
L580:
  test   %rbx,%rax
  je     L122
  movss  -0x1c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x1c(%rsp)
L122:
  test   %r11,%rax
  je     L1247
  movss  -0x18(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x18(%rsp)
L1247:
  test   %r10,%rax
  je     L682
  movss  -0x14(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x14(%rsp)
L682:
  test   %r8,%rax
  je     L855
  movss  -0x10(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x10(%rsp)
L855:
  test   %rdi,%rax
  je     L915
  subss  %xmm0,%xmm2
  jmp    L915
L1269:
  movss  -0xc(%rsp),%xmm1
  mov    -0x8(%rsp),%r15
L861:
  mov    (%r15),%rax
  test   %rax,%rax
  je     L930
  mov    $0x0,%ecx
  movabs $0x100000000,%r12
  movabs $0x200000000,%rbp
  movabs $0x400000000,%rbx
  movabs $0x800000000,%r11
  movabs $0x1000000000,%r10
  movabs $0x2000000000,%r8
  movabs $0x4000000000,%rdi
  movabs $0x8000000000,%rsi
  movss  %xmm1,-0xc(%rsp)
  jmp    L244
L209:
  add    $0x4,%rcx
  mov    (%r15,%rcx,2),%rax
  test   %rax,%rax
  je     L1128
L244:
  movss  (%r9,%rcx,1),%xmm0
  movd   %xmm0,%edx
  movd   %edx,%xmm0
  test   $0x1,%al
  je     L2129
  movss  -0xc(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0xc(%rsp)
L2129:
  test   $0x2,%al
  je     L570
  mulss  %xmm0,%xmm15
L570:
  test   $0x4,%al
  je     L116
  mulss  %xmm0,%xmm14
L116:
  test   $0x8,%al
  je     L1844
  mulss  %xmm0,%xmm13
L1844:
  test   $0x10,%al
  je     L1446
  mulss  %xmm0,%xmm12
L1446:
  test   $0x20,%al
  je     L1993
  mulss  %xmm0,%xmm11
L1993:
  test   $0x40,%al
  je     L400
  mulss  %xmm0,%xmm10
L400:
  test   $0x80,%al
  je     L2132
  mulss  %xmm0,%xmm9
L2132:
  test   $0x1,%ah
  je     L1863
  mulss  %xmm0,%xmm8
L1863:
  test   $0x2,%ah
  je     L883
  mulss  %xmm0,%xmm7
L883:
  test   $0x4,%ah
  je     L460
  mulss  %xmm0,%xmm6
L460:
  test   $0x8,%ah
  je     L1693
  mulss  %xmm0,%xmm5
L1693:
  test   $0x10,%ah
  je     L131
  mulss  %xmm0,%xmm4
L131:
  test   $0x20,%ah
  je     L911
  mulss  %xmm0,%xmm3
L911:
  test   $0x40,%ah
  je     L28
  movss  -0x70(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x70(%rsp)
L28:
  test   $0x80,%ah
  je     L512
  movss  -0x6c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x6c(%rsp)
L512:
  test   $0x10000,%eax
  je     L2113
  movss  -0x68(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x68(%rsp)
L2113:
  test   $0x20000,%eax
  je     L1391
  movss  -0x64(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x64(%rsp)
L1391:
  test   $0x40000,%eax
  je     L426
  movss  -0x60(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x60(%rsp)
L426:
  test   $0x80000,%eax
  je     L1080
  movss  -0x5c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x5c(%rsp)
L1080:
  test   $0x100000,%eax
  je     L1648
  movss  -0x58(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x58(%rsp)
L1648:
  test   $0x200000,%eax
  je     L977
  movss  -0x54(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x54(%rsp)
L977:
  test   $0x400000,%eax
  je     L711
  movss  -0x50(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x50(%rsp)
L711:
  test   $0x800000,%eax
  je     L273
  movss  -0x4c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x4c(%rsp)
L273:
  test   $0x1000000,%eax
  je     L1821
  movss  -0x48(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x48(%rsp)
L1821:
  test   $0x2000000,%eax
  je     L572
  movss  -0x44(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x44(%rsp)
L572:
  test   $0x4000000,%eax
  je     L239
  movss  -0x40(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x40(%rsp)
L239:
  test   $0x8000000,%eax
  je     L1420
  movss  -0x3c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x3c(%rsp)
L1420:
  test   $0x10000000,%eax
  je     L2086
  movss  -0x38(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x38(%rsp)
L2086:
  test   $0x20000000,%eax
  je     L669
  movss  -0x34(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x34(%rsp)
L669:
  test   $0x40000000,%eax
  je     L727
  movss  -0x30(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x30(%rsp)
L727:
  test   $0x80000000,%eax
  je     L1620
  movss  -0x2c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x2c(%rsp)
L1620:
  test   %r12,%rax
  je     L2131
  movss  -0x28(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x28(%rsp)
L2131:
  test   %rbp,%rax
  je     L1848
  movss  -0x24(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x24(%rsp)
L1848:
  test   %rbx,%rax
  je     L2198
  movss  -0x20(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x20(%rsp)
L2198:
  test   %r11,%rax
  je     L1753
  movss  -0x1c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x1c(%rsp)
L1753:
  test   %r10,%rax
  je     L1143
  movss  -0x18(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x18(%rsp)
L1143:
  test   %r8,%rax
  je     L581
  movss  -0x14(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x14(%rsp)
L581:
  test   %rdi,%rax
  je     L898
  movss  -0x10(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x10(%rsp)
L898:
  test   %rsi,%rax
  je     L209
  mulss  %xmm0,%xmm2
  jmp    L209
L1128:
  movss  -0xc(%rsp),%xmm1
L930:
  mov    0x38(%rsp),%rax
  mov    (%rax),%rax
  test   %rax,%rax
  je     L1857
  mov    $0x0,%ecx
  movabs $0x100000000,%rbp
  movabs $0x200000000,%rbx
  movabs $0x400000000,%r11
  movabs $0x800000000,%r10
  movabs $0x1000000000,%r9
  movabs $0x2000000000,%r8
  movabs $0x4000000000,%rdi
  movabs $0x8000000000,%rsi
  movss  %xmm1,-0xc(%rsp)
  mov    0x38(%rsp),%r12
  jmp    L228
L385:
  add    $0x4,%rcx
  mov    (%r12,%rcx,2),%rax
  test   %rax,%rax
  je     L1522
L228:
  movss  (%r14,%rcx,1),%xmm0
  movd   %xmm0,%edx
  movd   %edx,%xmm0
  test   $0x1,%al
  je     L2166
  movss  -0xc(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0xc(%rsp)
L2166:
  test   $0x2,%al
  je     L1748
  divss  %xmm0,%xmm15
L1748:
  test   $0x4,%al
  je     L1336
  divss  %xmm0,%xmm14
L1336:
  test   $0x8,%al
  je     L1265
  divss  %xmm0,%xmm13
L1265:
  test   $0x10,%al
  je     L1907
  divss  %xmm0,%xmm12
L1907:
  test   $0x20,%al
  je     L692
  divss  %xmm0,%xmm11
L692:
  test   $0x40,%al
  je     L630
  divss  %xmm0,%xmm10
L630:
  test   $0x80,%al
  je     L1366
  divss  %xmm0,%xmm9
L1366:
  test   $0x1,%ah
  je     L2151
  divss  %xmm0,%xmm8
L2151:
  test   $0x2,%ah
  je     L75
  divss  %xmm0,%xmm7
L75:
  test   $0x4,%ah
  je     L1781
  divss  %xmm0,%xmm6
L1781:
  test   $0x8,%ah
  je     L624
  divss  %xmm0,%xmm5
L624:
  test   $0x10,%ah
  je     L1472
  divss  %xmm0,%xmm4
L1472:
  test   $0x20,%ah
  je     L2148
  divss  %xmm0,%xmm3
L2148:
  test   $0x40,%ah
  je     L1543
  movss  -0x70(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x70(%rsp)
L1543:
  test   $0x80,%ah
  je     L2098
  movss  -0x6c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x6c(%rsp)
L2098:
  test   $0x10000,%eax
  je     L1337
  movss  -0x68(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x68(%rsp)
L1337:
  test   $0x20000,%eax
  je     L1990
  movss  -0x64(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x64(%rsp)
L1990:
  test   $0x40000,%eax
  je     L896
  movss  -0x60(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x60(%rsp)
L896:
  test   $0x80000,%eax
  je     L839
  movss  -0x5c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x5c(%rsp)
L839:
  test   $0x100000,%eax
  je     L232
  movss  -0x58(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x58(%rsp)
L232:
  test   $0x200000,%eax
  je     L556
  movss  -0x54(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x54(%rsp)
L556:
  test   $0x400000,%eax
  je     L606
  movss  -0x50(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x50(%rsp)
L606:
  test   $0x800000,%eax
  je     L1886
  movss  -0x4c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x4c(%rsp)
L1886:
  test   $0x1000000,%eax
  je     L1040
  movss  -0x48(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x48(%rsp)
L1040:
  test   $0x2000000,%eax
  je     L472
  movss  -0x44(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x44(%rsp)
L472:
  test   $0x4000000,%eax
  je     L559
  movss  -0x40(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x40(%rsp)
L559:
  test   $0x8000000,%eax
  je     L25
  movss  -0x3c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x3c(%rsp)
L25:
  test   $0x10000000,%eax
  je     L934
  movss  -0x38(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x38(%rsp)
L934:
  test   $0x20000000,%eax
  je     L2181
  movss  -0x34(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x34(%rsp)
L2181:
  test   $0x40000000,%eax
  je     L600
  movss  -0x30(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x30(%rsp)
L600:
  test   $0x80000000,%eax
  je     L803
  movss  -0x2c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x2c(%rsp)
L803:
  test   %rbp,%rax
  je     L165
  movss  -0x28(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x28(%rsp)
L165:
  test   %rbx,%rax
  je     L1897
  movss  -0x24(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x24(%rsp)
L1897:
  test   %r11,%rax
  je     L1119
  movss  -0x20(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x20(%rsp)
L1119:
  test   %r10,%rax
  je     L818
  movss  -0x1c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x1c(%rsp)
L818:
  test   %r9,%rax
  je     L1883
  movss  -0x18(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x18(%rsp)
L1883:
  test   %r8,%rax
  je     L496
  movss  -0x14(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x14(%rsp)
L496:
  test   %rdi,%rax
  je     L199
  movss  -0x10(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x10(%rsp)
L199:
  test   %rsi,%rax
  je     L385
  divss  %xmm0,%xmm2
  jmp    L385
L1522:
  movss  -0xc(%rsp),%xmm1
L1857:
  mov    0x48(%rsp),%rax
  mov    (%rax),%rdx
  test   %rdx,%rdx
  je     L376
  mov    $0x0,%ecx
  mov    %rax,%rdi
  mov    0x50(%rsp),%r8
  jmp    L1533
L98:
  mov    %eax,(%r8,%rcx,1)
  add    $0x4,%rcx
  mov    (%rdi,%rcx,2),%rdx
  test   %rdx,%rdx
  je     L376
L1533:
  mov    $0x0,%eax
  test   $0x1,%dl
  je     L1520
  ucomiss D156(%rip),%xmm1
  setnp  %al
  movzbl %al,%eax
  mov    $0x0,%esi
  cmovne %esi,%eax
L1520:
  test   $0x2,%dl
  je     L1549
  ucomiss D156(%rip),%xmm15
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1549:
  test   $0x4,%dl
  je     L1957
  ucomiss D156(%rip),%xmm14
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1957:
  test   $0x8,%dl
  je     L585
  ucomiss D156(%rip),%xmm13
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L585:
  test   $0x10,%dl
  je     L2156
  ucomiss D156(%rip),%xmm12
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L2156:
  test   $0x20,%dl
  je     L2034
  ucomiss D156(%rip),%xmm11
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L2034:
  test   $0x40,%dl
  je     L177
  ucomiss D156(%rip),%xmm10
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L177:
  test   $0x80,%dl
  je     L1486
  ucomiss D156(%rip),%xmm9
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1486:
  test   $0x1,%dh
  je     L192
  ucomiss D156(%rip),%xmm8
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L192:
  test   $0x2,%dh
  je     L768
  ucomiss D156(%rip),%xmm7
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L768:
  test   $0x4,%dh
  je     L411
  ucomiss D156(%rip),%xmm6
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L411:
  test   $0x8,%dh
  je     L1581
  ucomiss D156(%rip),%xmm5
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1581:
  test   $0x10,%dh
  je     L306
  ucomiss D156(%rip),%xmm4
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L306:
  test   $0x20,%dh
  je     L1671
  ucomiss D156(%rip),%xmm3
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1671:
  test   $0x40,%dh
  je     L775
  movss  -0x70(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L775:
  test   $0x80,%dh
  je     L511
  movss  -0x6c(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L511:
  test   $0x10000,%edx
  je     L1045
  movss  -0x68(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1045:
  test   $0x20000,%edx
  je     L1888
  movss  -0x64(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1888:
  test   $0x40000,%edx
  je     L206
  movss  -0x60(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L206:
  test   $0x80000,%edx
  je     L1919
  movss  -0x5c(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1919:
  test   $0x100000,%edx
  je     L1358
  movss  -0x58(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1358:
  test   $0x200000,%edx
  je     L386
  movss  -0x54(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L386:
  test   $0x400000,%edx
  je     L1901
  movss  -0x50(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1901:
  test   $0x800000,%edx
  je     L431
  movss  -0x4c(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L431:
  test   $0x1000000,%edx
  je     L621
  movss  -0x48(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L621:
  test   $0x2000000,%edx
  je     L310
  movss  -0x44(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L310:
  test   $0x4000000,%edx
  je     L1544
  movss  -0x40(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1544:
  test   $0x8000000,%edx
  je     L125
  movss  -0x3c(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L125:
  test   $0x10000000,%edx
  je     L1870
  movss  -0x38(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1870:
  test   $0x20000000,%edx
  je     L1314
  movss  -0x34(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1314:
  test   $0x40000000,%edx
  je     L1553
  movss  -0x30(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1553:
  test   $0x80000000,%edx
  je     L464
  movss  -0x2c(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L464:
  bt     $0x20,%rdx
  jae    L1100
  movss  -0x28(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1100:
  bt     $0x21,%rdx
  jae    L1531
  movss  -0x24(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1531:
  bt     $0x22,%rdx
  jae    L2079
  movss  -0x20(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L2079:
  bt     $0x23,%rdx
  jae    L1532
  movss  -0x1c(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1532:
  bt     $0x24,%rdx
  jae    L299
  movss  -0x18(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L299:
  bt     $0x25,%rdx
  jae    L311
  movss  -0x14(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L311:
  bt     $0x26,%rdx
  jae    L1236
  movss  -0x10(%rsp),%xmm0
  ucomiss D156(%rip),%xmm0
  setnp  %sil
  movzbl %sil,%esi
  mov    $0x0,%r9d
  cmovne %r9d,%esi
  or     %esi,%eax
L1236:
  bt     $0x27,%rdx
  jae    L98
  ucomiss D156(%rip),%xmm2
  setnp  %dl
  movzbl %dl,%edx
  mov    $0x0,%esi
  cmovne %esi,%edx
  or     %edx,%eax
  jmp    L98
L376:
  addss  %xmm15,%xmm1
  addss  %xmm14,%xmm1
  addss  %xmm13,%xmm1
  addss  %xmm12,%xmm1
  addss  %xmm11,%xmm1
  addss  %xmm10,%xmm1
  addss  %xmm9,%xmm1
  addss  %xmm8,%xmm1
  addss  %xmm7,%xmm1
  addss  %xmm6,%xmm1
  addss  %xmm5,%xmm1
  addss  %xmm4,%xmm1
  addss  %xmm3,%xmm1
  addss  -0x70(%rsp),%xmm1
  addss  -0x6c(%rsp),%xmm1
  addss  -0x68(%rsp),%xmm1
  addss  -0x64(%rsp),%xmm1
  addss  -0x60(%rsp),%xmm1
  addss  -0x5c(%rsp),%xmm1
  addss  -0x58(%rsp),%xmm1
  addss  -0x54(%rsp),%xmm1
  addss  -0x50(%rsp),%xmm1
  addss  -0x4c(%rsp),%xmm1
  addss  -0x48(%rsp),%xmm1
  movss  -0x44(%rsp),%xmm0
  addss  %xmm1,%xmm0
  addss  -0x40(%rsp),%xmm0
  addss  -0x3c(%rsp),%xmm0
  addss  -0x38(%rsp),%xmm0
  addss  -0x34(%rsp),%xmm0
  addss  -0x30(%rsp),%xmm0
  addss  -0x2c(%rsp),%xmm0
  addss  -0x28(%rsp),%xmm0
  addss  -0x24(%rsp),%xmm0
  addss  -0x20(%rsp),%xmm0
  addss  -0x1c(%rsp),%xmm0
  addss  -0x18(%rsp),%xmm0
  addss  -0x14(%rsp),%xmm0
  addss  -0x10(%rsp),%xmm0
  addss  %xmm2,%xmm0
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

tool_calls: name: parse_data
arguments: tag: D156
type: f32

tool: D156: 0

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);
}
```