// File: /workspace/github_cpp_makefile_star2_O3/icemiliang[P]vot/src/votx/otx.cc
// Function: votx::OTX::check_total_mass()
void OTX::check_total_mass() {
        double totaldirac = 0, totalmass = 0;
        for (auto d : vDiracXs) totaldirac += d->dirac();
        for (auto e : vEmpiricalXs) totalmass += e->mass();

        if (vFlagVerb) {
            std::cout << "--> Checking total measures... " << std::endl;
            std::cout << "       Total Dirac measure: " << totaldirac << std::endl;
            std::cout << "       Total Empirical measure: " << totalmass << std::endl;
            std::cout << "       Diff: " << fabs(totaldirac - totalmass) << std::endl;
            std::cout << std::endl;
        }
        ASSERT_VOT(fabs(totaldirac - totalmass) / totaldirac < OTX_TOLERANCE*vNumEmpiricalXs,
               "Total Dirac measure: " << totaldirac << 
               " not equal to total Empirical measure: " << totalmass);
    }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movq (%rdi), %rax
movq 0x8(%rdi), %rcx
xorpd %xmm0, %xmm0
xorpd %xmm1, %xmm1
cmpq %rcx, %rax
je 0x10bce
movq (%rax), %rdx
addsd 0x10(%rdx), %xmm1
addq $0x8, %rax
jmp 0x10bbb
movq 0x18(%rbx), %rax
movq 0x20(%rbx), %rcx
cmpq %rcx, %rax
je 0x10bf0
xorpd %xmm0, %xmm0
movq (%rax), %rdx
addsd 0x10(%rdx), %xmm0
addq $0x8, %rax
cmpq %rcx, %rax
jne 0x10bdf
cmpb $0x0, 0x70(%rbx)
movsd %xmm0, 0x8(%rsp)
je 0x10d71
movq 0xa3a1(%rip), %r14      # 0x1afa8
leaq 0x4014(%rip), %rsi      # 0x14c22
movl $0x1f, %edx
movq %r14, %rdi
movsd %xmm1, (%rsp)
callq 0x73a0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7320
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7240
leaq 0x3ff4(%rip), %rsi      # 0x14c42
movl $0x1c, %edx
movq %r14, %rdi
callq 0x73a0
movq %r14, %rdi
movsd (%rsp), %xmm0
callq 0x7560
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7320
movsbl %al, %esi
movq %r15, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7240
leaq 0x3fc6(%rip), %rsi      # 0x14c5f
movl $0x20, %edx
movq %r14, %rdi
callq 0x73a0
movq %r14, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x7560
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7320
movsbl %al, %esi
movq %r15, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7240
leaq 0x3f9b(%rip), %rsi      # 0x14c80
movl $0xd, %edx
movq %r14, %rdi
callq 0x73a0
movsd (%rsp), %xmm0
subsd 0x8(%rsp), %xmm0
andpd 0x3e8b(%rip), %xmm0     # 0x14b90
movapd %xmm0, 0x10(%rsp)
movq %r14, %rdi
callq 0x7560
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7320
movsbl %al, %esi
movq %r15, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7240
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7320
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7240
movapd 0x10(%rsp), %xmm2
movsd (%rsp), %xmm1
jmp 0x10d81
movapd %xmm1, %xmm2
subsd %xmm0, %xmm2
andpd 0x3e0f(%rip), %xmm2     # 0x14b90
divsd %xmm1, %xmm2
xorps %xmm0, %xmm0
cvtsi2sdl 0x80(%rbx), %xmm0
mulsd 0x3e08(%rip), %xmm0     # 0x14ba0
ucomisd %xmm2, %xmm0
jbe 0x10da8
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq 0xa231(%rip), %rdi      # 0x1afe0
leaq 0x3ed8(%rip), %rsi      # 0x14c8e
movsd %xmm1, (%rsp)
callq 0x7330
leaq 0x3e30(%rip), %rsi      # 0x14bf7
movq %rax, %rdi
callq 0x7330
leaq 0x3e28(%rip), %rsi      # 0x14bfe
movq %rax, %rdi
callq 0x7330
movq %rax, %rdi
movl $0x67, %esi
callq 0x75f0
leaq 0x3661(%rip), %rsi      # 0x14453
movq %rax, %rdi
callq 0x7330
leaq 0x3e48(%rip), %rsi      # 0x14c49
movq %rax, %rdi
callq 0x7330
movq %rax, %rdi
movsd (%rsp), %xmm0
callq 0x76a0
leaq 0x3ed6(%rip), %rsi      # 0x14cf3
movq %rax, %rdi
callq 0x7330
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x76a0
movq %rax, %rdi
callq 0x7190
callq 0x7100