user: Demonstrate the C code that generates the assembly output below:

```asm
<test_add>:
  endbr64
  push   %r15
  mov    %rsi,%r10
  mov    %r8,%r15
  mov    %rcx,%rsi
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    (%rdi),%rax
  mov    0x40(%rsp),%r14
  mov    %rdx,-0x10(%rsp)
  test   %rax,%rax
  je     L935
  movabs $0x400000000,%r13
  pxor   %xmm0,%xmm0
  xor    %ecx,%ecx
  movabs $0x800000000,%r12
  movss  %xmm0,-0x8(%rsp)
  movaps %xmm0,%xmm3
  movaps %xmm0,%xmm4
  movaps %xmm0,%xmm5
  movss  %xmm0,-0x18(%rsp)
  movaps %xmm0,%xmm6
  movaps %xmm0,%xmm7
  movaps %xmm0,%xmm8
  movss  %xmm0,-0x1c(%rsp)
  movaps %xmm0,%xmm9
  movaps %xmm0,%xmm10
  movaps %xmm0,%xmm11
  movss  %xmm0,-0x20(%rsp)
  movaps %xmm0,%xmm12
  movaps %xmm0,%xmm13
  movaps %xmm0,%xmm2
  movss  %xmm0,-0x24(%rsp)
  movaps %xmm0,%xmm14
  movaps %xmm0,%xmm15
  movabs $0x1000000000,%rbp
  movss  %xmm0,-0x28(%rsp)
  movabs $0x2000000000,%rbx
  movabs $0x4000000000,%r11
  movabs $0x8000000000,%r8
  movss  %xmm0,-0x2c(%rsp)
  movss  %xmm0,-0x30(%rsp)
  movss  %xmm0,-0x34(%rsp)
  movss  %xmm0,-0x38(%rsp)
  movss  %xmm0,-0x3c(%rsp)
  movss  %xmm0,-0x40(%rsp)
  movss  %xmm0,-0x44(%rsp)
  movss  %xmm0,-0x48(%rsp)
  movss  %xmm0,-0x4c(%rsp)
  movss  %xmm0,-0x50(%rsp)
  movss  %xmm0,-0x54(%rsp)
  movss  %xmm0,-0x58(%rsp)
  movss  %xmm0,-0x5c(%rsp)
  movss  %xmm0,-0x60(%rsp)
  movss  %xmm0,-0x64(%rsp)
  movss  %xmm0,-0x68(%rsp)
  movss  %xmm0,-0x6c(%rsp)
  movss  %xmm0,-0x70(%rsp)
  movss  %xmm0,-0x74(%rsp)
  movss  %xmm0,-0x14(%rsp)
  movss  %xmm0,-0x4(%rsp)
  nopl   0x0(%rax,%rax,1)
L437:
  movss  (%r10,%rcx,1),%xmm0
  movd   %xmm0,%edx
  movd   %edx,%xmm0
  test   $0x1,%al
  je     L784
  addss  %xmm0,%xmm15
L784:
  test   $0x2,%al
  je     L1907
  addss  %xmm0,%xmm2
L1907:
  test   $0x4,%al
  je     L250
  addss  %xmm0,%xmm14
L250:
  test   $0x8,%al
  je     L82
  addss  %xmm0,%xmm13
L82:
  test   $0x10,%al
  je     L1119
  addss  %xmm0,%xmm12
L1119:
  test   $0x20,%al
  je     L1233
  addss  %xmm0,%xmm11
L1233:
  test   $0x40,%al
  je     L836
  addss  %xmm0,%xmm10
L836:
  test   $0x80,%al
  je     L208
  addss  %xmm0,%xmm9
L208:
  test   $0x1,%ah
  je     L439
  addss  %xmm0,%xmm8
L439:
  test   $0x2,%ah
  je     L826
  addss  %xmm0,%xmm7
L826:
  test   $0x4,%ah
  je     L427
  addss  %xmm0,%xmm6
L427:
  test   $0x8,%ah
  je     L114
  addss  %xmm0,%xmm5
L114:
  test   $0x10,%ah
  je     L566
  addss  %xmm0,%xmm4
L566:
  test   $0x20,%ah
  je     L239
  addss  %xmm0,%xmm3
L239:
  test   $0x40,%ah
  je     L1987
  movss  -0x74(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x74(%rsp)
L1987:
  test   $0x80,%ah
  je     L661
  movss  -0x70(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x70(%rsp)
L661:
  test   $0x10000,%eax
  je     L642
  movss  -0x6c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x6c(%rsp)
L642:
  test   $0x20000,%eax
  je     L1981
  movss  -0x68(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x68(%rsp)
L1981:
  test   $0x40000,%eax
  je     L1502
  movss  -0x64(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x64(%rsp)
L1502:
  test   $0x80000,%eax
  je     L1362
  movss  -0x60(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x60(%rsp)
L1362:
  test   $0x100000,%eax
  je     L1374
  movss  -0x5c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x5c(%rsp)
L1374:
  test   $0x200000,%eax
  je     L1899
  movss  -0x58(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x58(%rsp)
L1899:
  test   $0x400000,%eax
  je     L752
  movss  -0x54(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x54(%rsp)
L752:
  test   $0x800000,%eax
  je     L2042
  movss  -0x50(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x50(%rsp)
L2042:
  test   $0x1000000,%eax
  je     L1100
  movss  -0x4c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x4c(%rsp)
L1100:
  test   $0x2000000,%eax
  je     L479
  movss  -0x48(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x48(%rsp)
L479:
  test   $0x4000000,%eax
  je     L1877
  movss  -0x44(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x44(%rsp)
L1877:
  test   $0x8000000,%eax
  je     L1090
  movss  -0x40(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x40(%rsp)
L1090:
  test   $0x10000000,%eax
  je     L685
  movss  -0x3c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x3c(%rsp)
L685:
  test   $0x20000000,%eax
  je     L772
  movss  -0x38(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x38(%rsp)
L772:
  test   $0x40000000,%eax
  je     L2107
  movss  -0x34(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x34(%rsp)
L2107:
  test   $0x80000000,%eax
  je     L381
  movss  -0x30(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x30(%rsp)
L381:
  movabs $0x100000000,%rdx
  test   %rdx,%rax
  je     L562
  movss  -0x2c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x2c(%rsp)
L562:
  movabs $0x200000000,%rdx
  test   %rdx,%rax
  je     L1160
  movss  -0x28(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x28(%rsp)
L1160:
  test   %r13,%rax
  je     L32
  movss  -0x24(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x24(%rsp)
L32:
  test   %r12,%rax
  je     L1580
  movss  -0x20(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x20(%rsp)
L1580:
  test   %rbp,%rax
  je     L762
  movss  -0x1c(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x1c(%rsp)
L762:
  test   %rbx,%rax
  je     L308
  movss  -0x18(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x18(%rsp)
L308:
  test   %r11,%rax
  je     L1949
  movss  -0x14(%rsp),%xmm1
  addss  %xmm0,%xmm1
  movss  %xmm1,-0x14(%rsp)
L1949:
  test   %r8,%rax
  je     L226
  addss  -0x8(%rsp),%xmm0
  movss  %xmm0,-0x8(%rsp)
L226:
  add    $0x4,%rcx
  mov    (%rdi,%rcx,2),%rax
  test   %rax,%rax
  jne    L437
  movss  -0x4(%rsp),%xmm0
L1929:
  mov    -0x10(%rsp),%rdx
  mov    (%rdx),%rax
  test   %rax,%rax
  je     L1207
  mov    %r15,-0x10(%rsp)
  xor    %ecx,%ecx
  mov    %rdx,%r15
  movabs $0x100000000,%r13
  movabs $0x200000000,%r12
  movss  %xmm0,-0x4(%rsp)
  movabs $0x400000000,%rbp
  movabs $0x800000000,%rbx
  movabs $0x1000000000,%r11
  movabs $0x2000000000,%r10
  movabs $0x4000000000,%r8
  movabs $0x8000000000,%rdi
  xchg   %ax,%ax
L1891:
  movss  (%rsi,%rcx,1),%xmm0
  movd   %xmm0,%edx
  movd   %edx,%xmm0
  test   $0x1,%al
  je     L274
  subss  %xmm0,%xmm15
L274:
  test   $0x2,%al
  je     L1154
  subss  %xmm0,%xmm2
L1154:
  test   $0x4,%al
  je     L2059
  subss  %xmm0,%xmm14
L2059:
  test   $0x8,%al
  je     L1740
  subss  %xmm0,%xmm13
L1740:
  test   $0x10,%al
  je     L531
  subss  %xmm0,%xmm12
L531:
  test   $0x20,%al
  je     L821
  subss  %xmm0,%xmm11
L821:
  test   $0x40,%al
  je     L512
  subss  %xmm0,%xmm10
L512:
  test   $0x80,%al
  je     L1419
  subss  %xmm0,%xmm9
L1419:
  test   $0x1,%ah
  je     L357
  subss  %xmm0,%xmm8
L357:
  test   $0x2,%ah
  je     L1077
  subss  %xmm0,%xmm7
L1077:
  test   $0x4,%ah
  je     L1800
  subss  %xmm0,%xmm6
L1800:
  test   $0x8,%ah
  je     L2062
  subss  %xmm0,%xmm5
L2062:
  test   $0x10,%ah
  je     L1279
  subss  %xmm0,%xmm4
L1279:
  test   $0x20,%ah
  je     L1477
  subss  %xmm0,%xmm3
L1477:
  test   $0x40,%ah
  je     L733
  movss  -0x74(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x74(%rsp)
L733:
  test   $0x80,%ah
  je     L631
  movss  -0x70(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x70(%rsp)
L631:
  test   $0x10000,%eax
  je     L1650
  movss  -0x6c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x6c(%rsp)
L1650:
  test   $0x20000,%eax
  je     L1003
  movss  -0x68(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x68(%rsp)
L1003:
  test   $0x40000,%eax
  je     L326
  movss  -0x64(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x64(%rsp)
L326:
  test   $0x80000,%eax
  je     L1629
  movss  -0x60(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x60(%rsp)
L1629:
  test   $0x100000,%eax
  je     L188
  movss  -0x5c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x5c(%rsp)
L188:
  test   $0x200000,%eax
  je     L1508
  movss  -0x58(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x58(%rsp)
L1508:
  test   $0x400000,%eax
  je     L730
  movss  -0x54(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x54(%rsp)
L730:
  test   $0x800000,%eax
  je     L1288
  movss  -0x50(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x50(%rsp)
L1288:
  test   $0x1000000,%eax
  je     L1940
  movss  -0x4c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x4c(%rsp)
L1940:
  test   $0x2000000,%eax
  je     L627
  movss  -0x48(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x48(%rsp)
L627:
  test   $0x4000000,%eax
  je     L1330
  movss  -0x44(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x44(%rsp)
L1330:
  test   $0x8000000,%eax
  je     L1662
  movss  -0x40(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x40(%rsp)
L1662:
  test   $0x10000000,%eax
  je     L793
  movss  -0x3c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x3c(%rsp)
L793:
  test   $0x20000000,%eax
  je     L215
  movss  -0x38(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x38(%rsp)
L215:
  test   $0x40000000,%eax
  je     L662
  movss  -0x34(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x34(%rsp)
L662:
  test   $0x80000000,%eax
  je     L1134
  movss  -0x30(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x30(%rsp)
L1134:
  test   %r13,%rax
  je     L1658
  movss  -0x2c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x2c(%rsp)
L1658:
  test   %r12,%rax
  je     L610
  movss  -0x28(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x28(%rsp)
L610:
  test   %rbp,%rax
  je     L1479
  movss  -0x24(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x24(%rsp)
L1479:
  test   %rbx,%rax
  je     L1904
  movss  -0x20(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x20(%rsp)
L1904:
  test   %r11,%rax
  je     L641
  movss  -0x1c(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x1c(%rsp)
L641:
  test   %r10,%rax
  je     L932
  movss  -0x18(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x18(%rsp)
L932:
  test   %r8,%rax
  je     L587
  movss  -0x14(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x14(%rsp)
L587:
  test   %rdi,%rax
  je     L750
  movss  -0x8(%rsp),%xmm1
  subss  %xmm0,%xmm1
  movss  %xmm1,-0x8(%rsp)
L750:
  add    $0x4,%rcx
  mov    (%r15,%rcx,2),%rax
  test   %rax,%rax
  jne    L1891
  mov    -0x10(%rsp),%r15
  movss  -0x4(%rsp),%xmm0
L1207:
  mov    (%r15),%rax
  test   %rax,%rax
  je     L1050
  xor    %ecx,%ecx
  movss  %xmm0,-0x10(%rsp)
  movabs $0x100000000,%r12
  movabs $0x200000000,%rbp
  movabs $0x400000000,%rbx
  movabs $0x800000000,%r11
  movabs $0x1000000000,%r10
  movabs $0x2000000000,%r8
  movabs $0x4000000000,%rdi
  movabs $0x8000000000,%rsi
  nopl   (%rax)
L1461:
  movss  (%r9,%rcx,1),%xmm0
  movd   %xmm0,%edx
  movd   %edx,%xmm0
  test   $0x1,%al
  je     L150
  mulss  %xmm0,%xmm15
L150:
  test   $0x2,%al
  je     L1273
  mulss  %xmm0,%xmm2
L1273:
  test   $0x4,%al
  je     L859
  mulss  %xmm0,%xmm14
L859:
  test   $0x8,%al
  je     L232
  mulss  %xmm0,%xmm13
L232:
  test   $0x10,%al
  je     L956
  mulss  %xmm0,%xmm12
L956:
  test   $0x20,%al
  je     L2044
  mulss  %xmm0,%xmm11
L2044:
  test   $0x40,%al
  je     L2048
  mulss  %xmm0,%xmm10
L2048:
  test   $0x80,%al
  je     L809
  mulss  %xmm0,%xmm9
L809:
  test   $0x1,%ah
  je     L716
  mulss  %xmm0,%xmm8
L716:
  test   $0x2,%ah
  je     L717
  mulss  %xmm0,%xmm7
L717:
  test   $0x4,%ah
  je     L757
  mulss  %xmm0,%xmm6
L757:
  test   $0x8,%ah
  je     L1675
  mulss  %xmm0,%xmm5
L1675:
  test   $0x10,%ah
  je     L1557
  mulss  %xmm0,%xmm4
L1557:
  test   $0x20,%ah
  je     L526
  mulss  %xmm0,%xmm3
L526:
  test   $0x40,%ah
  je     L1011
  movss  -0x74(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x74(%rsp)
L1011:
  test   $0x80,%ah
  je     L379
  movss  -0x70(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x70(%rsp)
L379:
  test   $0x10000,%eax
  je     L1602
  movss  -0x6c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x6c(%rsp)
L1602:
  test   $0x20000,%eax
  je     L323
  movss  -0x68(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x68(%rsp)
L323:
  test   $0x40000,%eax
  je     L362
  movss  -0x64(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x64(%rsp)
L362:
  test   $0x80000,%eax
  je     L1371
  movss  -0x60(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x60(%rsp)
L1371:
  test   $0x100000,%eax
  je     L1523
  movss  -0x5c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x5c(%rsp)
L1523:
  test   $0x200000,%eax
  je     L748
  movss  -0x58(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x58(%rsp)
L748:
  test   $0x400000,%eax
  je     L1585
  movss  -0x54(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x54(%rsp)
L1585:
  test   $0x800000,%eax
  je     L1282
  movss  -0x50(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x50(%rsp)
L1282:
  test   $0x1000000,%eax
  je     L1490
  movss  -0x4c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x4c(%rsp)
L1490:
  test   $0x2000000,%eax
  je     L354
  movss  -0x48(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x48(%rsp)
L354:
  test   $0x4000000,%eax
  je     L974
  movss  -0x44(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x44(%rsp)
L974:
  test   $0x8000000,%eax
  je     L2024
  movss  -0x40(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x40(%rsp)
L2024:
  test   $0x10000000,%eax
  je     L711
  movss  -0x3c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x3c(%rsp)
L711:
  test   $0x20000000,%eax
  je     L301
  movss  -0x38(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x38(%rsp)
L301:
  test   $0x40000000,%eax
  je     L89
  movss  -0x34(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x34(%rsp)
L89:
  test   $0x80000000,%eax
  je     L1427
  movss  -0x30(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x30(%rsp)
L1427:
  test   %r12,%rax
  je     L5
  movss  -0x2c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x2c(%rsp)
L5:
  test   %rbp,%rax
  je     L391
  movss  -0x28(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x28(%rsp)
L391:
  test   %rbx,%rax
  je     L1649
  movss  -0x24(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x24(%rsp)
L1649:
  test   %r11,%rax
  je     L1346
  movss  -0x20(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x20(%rsp)
L1346:
  test   %r10,%rax
  je     L993
  movss  -0x1c(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x1c(%rsp)
L993:
  test   %r8,%rax
  je     L775
  movss  -0x18(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x18(%rsp)
L775:
  test   %rdi,%rax
  je     L1862
  movss  -0x14(%rsp),%xmm1
  mulss  %xmm0,%xmm1
  movss  %xmm1,-0x14(%rsp)
L1862:
  test   %rsi,%rax
  je     L735
  mulss  -0x8(%rsp),%xmm0
  movss  %xmm0,-0x8(%rsp)
L735:
  add    $0x4,%rcx
  mov    (%r15,%rcx,2),%rax
  test   %rax,%rax
  jne    L1461
  movss  -0x10(%rsp),%xmm0
L1050:
  mov    0x38(%rsp),%rax
  mov    (%rax),%rax
  test   %rax,%rax
  je     L696
  mov    0x38(%rsp),%r12
  xor    %ecx,%ecx
  movabs $0x100000000,%rbp
  movabs $0x200000000,%rbx
  movabs $0x400000000,%r11
  movss  %xmm0,-0x10(%rsp)
  movabs $0x800000000,%r10
  movabs $0x1000000000,%r9
  movabs $0x2000000000,%r8
  movabs $0x4000000000,%rdi
  movabs $0x8000000000,%rsi
  nop
L1591:
  movss  (%r14,%rcx,1),%xmm0
  movd   %xmm0,%edx
  movd   %edx,%xmm0
  test   $0x1,%al
  je     L1574
  divss  %xmm0,%xmm15
L1574:
  test   $0x2,%al
  je     L1712
  divss  %xmm0,%xmm2
L1712:
  test   $0x4,%al
  je     L2045
  divss  %xmm0,%xmm14
L2045:
  test   $0x8,%al
  je     L486
  divss  %xmm0,%xmm13
L486:
  test   $0x10,%al
  je     L701
  divss  %xmm0,%xmm12
L701:
  test   $0x20,%al
  je     L1395
  divss  %xmm0,%xmm11
L1395:
  test   $0x40,%al
  je     L835
  divss  %xmm0,%xmm10
L835:
  test   $0x80,%al
  je     L142
  divss  %xmm0,%xmm9
L142:
  test   $0x1,%ah
  je     L1656
  divss  %xmm0,%xmm8
L1656:
  test   $0x2,%ah
  je     L2000
  divss  %xmm0,%xmm7
L2000:
  test   $0x4,%ah
  je     L1522
  divss  %xmm0,%xmm6
L1522:
  test   $0x8,%ah
  je     L1144
  divss  %xmm0,%xmm5
L1144:
  test   $0x10,%ah
  je     L1177
  divss  %xmm0,%xmm4
L1177:
  test   $0x20,%ah
  je     L1611
  divss  %xmm0,%xmm3
L1611:
  test   $0x40,%ah
  je     L1485
  movss  -0x74(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x74(%rsp)
L1485:
  test   $0x80,%ah
  je     L886
  movss  -0x70(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x70(%rsp)
L886:
  test   $0x10000,%eax
  je     L69
  movss  -0x6c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x6c(%rsp)
L69:
  test   $0x20000,%eax
  je     L1747
  movss  -0x68(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x68(%rsp)
L1747:
  test   $0x40000,%eax
  je     L1840
  movss  -0x64(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x64(%rsp)
L1840:
  test   $0x80000,%eax
  je     L442
  movss  -0x60(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x60(%rsp)
L442:
  test   $0x100000,%eax
  je     L1487
  movss  -0x5c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x5c(%rsp)
L1487:
  test   $0x200000,%eax
  je     L1667
  movss  -0x58(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x58(%rsp)
L1667:
  test   $0x400000,%eax
  je     L998
  movss  -0x54(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x54(%rsp)
L998:
  test   $0x800000,%eax
  je     L560
  movss  -0x50(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x50(%rsp)
L560:
  test   $0x1000000,%eax
  je     L410
  movss  -0x4c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x4c(%rsp)
L410:
  test   $0x2000000,%eax
  je     L718
  movss  -0x48(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x48(%rsp)
L718:
  test   $0x4000000,%eax
  je     L1381
  movss  -0x44(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x44(%rsp)
L1381:
  test   $0x8000000,%eax
  je     L316
  movss  -0x40(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x40(%rsp)
L316:
  test   $0x10000000,%eax
  je     L363
  movss  -0x3c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x3c(%rsp)
L363:
  test   $0x20000000,%eax
  je     L1146
  movss  -0x38(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x38(%rsp)
L1146:
  test   $0x40000000,%eax
  je     L1554
  movss  -0x34(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x34(%rsp)
L1554:
  test   $0x80000000,%eax
  je     L2079
  movss  -0x30(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x30(%rsp)
L2079:
  test   %rbp,%rax
  je     L273
  movss  -0x2c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x2c(%rsp)
L273:
  test   %rbx,%rax
  je     L2084
  movss  -0x28(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x28(%rsp)
L2084:
  test   %r11,%rax
  je     L1276
  movss  -0x24(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x24(%rsp)
L1276:
  test   %r10,%rax
  je     L1304
  movss  -0x20(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x20(%rsp)
L1304:
  test   %r9,%rax
  je     L406
  movss  -0x1c(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x1c(%rsp)
L406:
  test   %r8,%rax
  je     L1984
  movss  -0x18(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x18(%rsp)
L1984:
  test   %rdi,%rax
  je     L1969
  movss  -0x14(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x14(%rsp)
L1969:
  test   %rsi,%rax
  je     L959
  movss  -0x8(%rsp),%xmm1
  divss  %xmm0,%xmm1
  movss  %xmm1,-0x8(%rsp)
L959:
  add    $0x4,%rcx
  mov    (%r12,%rcx,2),%rax
  test   %rax,%rax
  jne    L1591
  movss  -0x10(%rsp),%xmm0
L696:
  mov    0x48(%rsp),%rax
  mov    (%rax),%rdx
  test   %rdx,%rdx
  je     L1181
  movss  -0x8(%rsp),%xmm1
  mov    0x50(%rsp),%r14
  xor    %esi,%esi
  xor    %ecx,%ecx
  movabs $0x100000000,%r12
  mov    %rax,%r13
  movabs $0x200000000,%rbp
  movabs $0x400000000,%rbx
  movabs $0x800000000,%r11
  movss  %xmm1,-0x10(%rsp)
  movabs $0x1000000000,%r10
  movabs $0x2000000000,%r9
  movabs $0x4000000000,%r8
  movabs $0x8000000000,%rdi
  xchg   %ax,%ax
L1494:
  xor    %eax,%eax
  test   $0x1,%dl
  je     L1593
  xor    %eax,%eax
  ucomiss %xmm0,%xmm15
  setnp  %al
  cmovne %ecx,%eax
L1593:
  test   $0x2,%dl
  je     L1533
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm2
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1533:
  test   $0x4,%dl
  je     L1653
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm14
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1653:
  test   $0x8,%dl
  je     L880
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm13
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L880:
  test   $0x10,%dl
  je     L1741
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm12
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1741:
  test   $0x20,%dl
  je     L22
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm11
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L22:
  test   $0x40,%dl
  je     L1324
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm10
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1324:
  test   $0x80,%dl
  je     L39
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm9
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L39:
  test   $0x1,%dh
  je     L1722
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm8
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1722:
  test   $0x2,%dh
  je     L754
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm7
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L754:
  test   $0x4,%dh
  je     L882
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm6
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L882:
  test   $0x8,%dh
  je     L1053
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm5
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1053:
  test   $0x10,%dh
  je     L1970
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm4
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1970:
  test   $0x20,%dh
  je     L221
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm3
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L221:
  test   $0x40,%dh
  je     L1841
  movss  -0x74(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1841:
  test   $0x80,%dh
  je     L1715
  movss  -0x70(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1715:
  test   $0x10000,%edx
  je     L2081
  movss  -0x6c(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L2081:
  test   $0x20000,%edx
  je     L1342
  movss  -0x68(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1342:
  test   $0x40000,%edx
  je     L1655
  movss  -0x64(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1655:
  test   $0x80000,%edx
  je     L1368
  movss  -0x60(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1368:
  test   $0x100000,%edx
  je     L712
  movss  -0x5c(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L712:
  test   $0x200000,%edx
  je     L1357
  movss  -0x58(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1357:
  test   $0x400000,%edx
  je     L155
  movss  -0x54(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L155:
  test   $0x800000,%edx
  je     L1308
  movss  -0x50(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1308:
  test   $0x1000000,%edx
  je     L1450
  movss  -0x4c(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1450:
  test   $0x2000000,%edx
  je     L1651
  movss  -0x48(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1651:
  test   $0x4000000,%edx
  je     L1864
  movss  -0x44(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1864:
  test   $0x8000000,%edx
  je     L272
  movss  -0x40(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L272:
  test   $0x10000000,%edx
  je     L1811
  movss  -0x3c(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1811:
  test   $0x20000000,%edx
  je     L1325
  movss  -0x38(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1325:
  test   $0x40000000,%edx
  je     L119
  movss  -0x34(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L119:
  test   $0x80000000,%edx
  je     L435
  movss  -0x30(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L435:
  test   %r12,%rdx
  je     L2061
  movss  -0x2c(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L2061:
  test   %rbp,%rdx
  je     L1163
  movss  -0x28(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1163:
  test   %rbx,%rdx
  je     L1126
  movss  -0x24(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1126:
  test   %r11,%rdx
  je     L944
  movss  -0x20(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L944:
  test   %r10,%rdx
  je     L257
  movss  -0x1c(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L257:
  test   %r9,%rdx
  je     L1153
  movss  -0x18(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L1153:
  test   %r8,%rdx
  je     L466
  movss  -0x14(%rsp),%xmm1
  xor    %r15d,%r15d
  ucomiss %xmm0,%xmm1
  setnp  %r15b
  cmovne %ecx,%r15d
  or     %r15d,%eax
L466:
  test   %rdi,%rdx
  je     L317
  movss  -0x10(%rsp),%xmm1
  xor    %edx,%edx
  ucomiss %xmm0,%xmm1
  setnp  %dl
  cmovne %ecx,%edx
  or     %edx,%eax
L317:
  mov    %eax,(%r14,%rsi,1)
  add    $0x4,%rsi
  mov    0x0(%r13,%rsi,2),%rdx
  test   %rdx,%rdx
  jne    L1494
L1181:
  addss  %xmm15,%xmm2
  movss  -0x48(%rsp),%xmm0
  addss  %xmm14,%xmm2
  addss  %xmm13,%xmm2
  addss  %xmm12,%xmm2
  addss  %xmm11,%xmm2
  addss  %xmm10,%xmm2
  addss  %xmm9,%xmm2
  addss  %xmm8,%xmm2
  addss  %xmm7,%xmm2
  addss  %xmm6,%xmm2
  addss  %xmm5,%xmm2
  addss  %xmm4,%xmm2
  addss  %xmm3,%xmm2
  addss  -0x74(%rsp),%xmm2
  addss  -0x70(%rsp),%xmm2
  addss  -0x6c(%rsp),%xmm2
  addss  -0x68(%rsp),%xmm2
  addss  -0x64(%rsp),%xmm2
  addss  -0x60(%rsp),%xmm2
  addss  -0x5c(%rsp),%xmm2
  addss  -0x58(%rsp),%xmm2
  addss  -0x54(%rsp),%xmm2
  addss  -0x50(%rsp),%xmm2
  addss  -0x4c(%rsp),%xmm2
  addss  %xmm2,%xmm0
  addss  -0x44(%rsp),%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  -0x8(%rsp),%xmm0
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax)
L935:
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x8(%rsp)
  movaps %xmm0,%xmm3
  movaps %xmm0,%xmm4
  movaps %xmm0,%xmm5
  movss  %xmm0,-0x14(%rsp)
  movaps %xmm0,%xmm6
  movaps %xmm0,%xmm7
  movaps %xmm0,%xmm8
  movss  %xmm0,-0x18(%rsp)
  movaps %xmm0,%xmm9
  movaps %xmm0,%xmm10
  movaps %xmm0,%xmm11
  movss  %xmm0,-0x1c(%rsp)
  movaps %xmm0,%xmm12
  movaps %xmm0,%xmm13
  movaps %xmm0,%xmm2
  movss  %xmm0,-0x20(%rsp)
  movaps %xmm0,%xmm14
  movaps %xmm0,%xmm15
  movss  %xmm0,-0x24(%rsp)
  movss  %xmm0,-0x28(%rsp)
  movss  %xmm0,-0x2c(%rsp)
  movss  %xmm0,-0x30(%rsp)
  movss  %xmm0,-0x34(%rsp)
  movss  %xmm0,-0x38(%rsp)
  movss  %xmm0,-0x3c(%rsp)
  movss  %xmm0,-0x40(%rsp)
  movss  %xmm0,-0x44(%rsp)
  movss  %xmm0,-0x48(%rsp)
  movss  %xmm0,-0x4c(%rsp)
  movss  %xmm0,-0x50(%rsp)
  movss  %xmm0,-0x54(%rsp)
  movss  %xmm0,-0x58(%rsp)
  movss  %xmm0,-0x5c(%rsp)
  movss  %xmm0,-0x60(%rsp)
  movss  %xmm0,-0x64(%rsp)
  movss  %xmm0,-0x68(%rsp)
  movss  %xmm0,-0x6c(%rsp)
  movss  %xmm0,-0x70(%rsp)
  movss  %xmm0,-0x74(%rsp)
  jmp    L1929
```

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