// File: yasz24[P]eau2/tests/./../src/application/application.h
// Function: Trivial::run_()
void run_() {
    size_t SZ = 1000*1000;
    double* vals = new double[SZ];
    double sum = 0;
    for (size_t i = 0; i < SZ; ++i) sum += vals[i] = i;
    Key key("triv",0);
    DistributedDataFrame* df = DistributedDataFrame::fromArray(&key, kv_, SZ, vals);
    assert(df->get_double(0,1) == 1);
    Deserializable* ds = new Deserializable();
    DistributedDataFrame* df2 = dynamic_cast<DistributedDataFrame*>(ds->deserialize(kv_->get(&key)->data, kv_));
    for (size_t i = 0; i < SZ; ++i) sum -= df2->get_double(0,i);
    assert(sum==0);
    delete df; delete df2;
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
movq $0xf4240, -0x10(%rbp)   # imm = 0xF4240
movq -0x10(%rbp), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x7030
movq %rax, -0x18(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x10(%rbp), %rax
jae 0x28bae
movaps 0x6557(%rip), %xmm1     # 0x2f0c0
movq -0x28(%rbp), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x6556(%rip), %xmm1     # 0x2f0d0
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
addsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x28b58
leaq 0x70c4(%rip), %rsi      # 0x2fc79
xorl %eax, %eax
movl %eax, %edx
leaq -0x48(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0xc780
movq -0x80(%rbp), %rax
movq -0x90(%rbp), %rdi
movq 0x10(%rax), %rsi
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x28e50
movq %rax, -0x88(%rbp)
jmp 0x28bee
movq -0x88(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %edx
callq 0x29060
movl %eax, -0x94(%rbp)
jmp 0x28c13
movl -0x94(%rbp), %eax
cmpl $0x1, %eax
jne 0x28c20
jmp 0x28c59
leaq 0x7057(%rip), %rdi      # 0x2fc7e
leaq 0x7069(%rip), %rsi      # 0x2fc97
movl $0x2e, %edx
leaq 0x7080(%rip), %rcx      # 0x2fcba
callq 0x7170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0xebc0
jmp 0x28dde
movl $0x1, %edi
callq 0x7250
movq %rax, -0xa0(%rbp)
jmp 0x28c6c
movq -0x80(%rbp), %rax
movq -0xa0(%rbp), %rcx
movq %rcx, -0x68(%rbp)
movq -0x68(%rbp), %rcx
movq %rcx, -0xb0(%rbp)
movq 0x10(%rax), %rdi
leaq -0x48(%rbp), %rsi
callq 0x1c7a0
movq %rax, -0xa8(%rbp)
jmp 0x28c9c
movq -0xb0(%rbp), %rdi
movq -0x80(%rbp), %rax
movq -0xa8(%rbp), %rcx
movq 0x10(%rcx), %rsi
movq 0x10(%rax), %rdx
callq 0x2acf0
movq %rax, -0xb8(%rbp)
jmp 0x28cc4
movq -0xb8(%rbp), %rax
cmpq $0x0, %rax
je 0x28cf8
movq -0xb8(%rbp), %rdi
leaq 0x14429(%rip), %rsi     # 0x3d108
leaq 0x15f52(%rip), %rdx     # 0x3ec38
xorl %eax, %eax
movl %eax, %ecx
callq 0x7290
movq %rax, -0xc0(%rbp)
jmp 0x28d03
xorl %eax, %eax
movq %rax, -0xc0(%rbp)
jmp 0x28d03
movq -0xc0(%rbp), %rax
movq %rax, -0x70(%rbp)
movq $0x0, -0x78(%rbp)
movq -0x78(%rbp), %rax
cmpq -0x10(%rbp), %rax
jae 0x28d5f
movq -0x70(%rbp), %rdi
movq -0x78(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x29060
movl %eax, -0xc4(%rbp)
jmp 0x28d39
movl -0xc4(%rbp), %eax
cvtsi2sd %eax, %xmm1
movsd -0x20(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x78(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x78(%rbp)
jmp 0x28d16
movsd -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28d71
jp 0x28d71
jmp 0x28d90
leaq 0x6f5f(%rip), %rdi      # 0x2fcd7
leaq 0x6f18(%rip), %rsi      # 0x2fc97
movl $0x32, %edx
leaq 0x6f2f(%rip), %rcx      # 0x2fcba
callq 0x7170
movq -0x50(%rbp), %rax
movq %rax, -0xd0(%rbp)
cmpq $0x0, %rax
je 0x28dae
movq -0xd0(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0x70(%rbp), %rax
movq %rax, -0xd8(%rbp)
cmpq $0x0, %rax
je 0x28dcc
movq -0xd8(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
leaq -0x48(%rbp), %rdi
callq 0xebc0
addq $0xe0, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x7370
nopw (%rax,%rax)