// File: j-faria[P]kima/examples/BL2009/kima_setup.cpp
// Function: RVmodel::RVmodel()
RVmodel::RVmodel():fix(false),npmax(1)
{
    // priors as in Balan & Lahav (2009, DOI: 10.1111/j.1365-2966.2008.14385.x)
    Cprior = make_prior<Uniform>(-2000, 2000); // m/s
    Jprior = make_prior<ModifiedLogUniform>(1.0, 2000.); // m/s

    auto conditional = planets.get_conditional_prior();
    conditional->Pprior = make_prior<LogUniform>(0.2, 15E3); // days
    conditional->Kprior = make_prior<ModifiedLogUniform>(1.0, 2E3); // m/s
    conditional->eprior = make_prior<Uniform>(0., 1.);
    conditional->phiprior = make_prior<Uniform>(0.0, 2*M_PI);
    conditional->wprior = make_prior<Uniform>(0.0, 2*M_PI);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3b0, %rsp            # imm = 0x3B0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movb $0x0, (%rax)
movl $0x1, 0x4(%rax)
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x1c0(%rbp)
movl 0x4(%rax), %ecx
movl %ecx, -0x1b4(%rbp)
movzbl (%rax), %eax
movl %eax, -0x1c4(%rbp)
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0xb0c0
movl -0x1c4(%rbp), %ecx
movq -0x1c0(%rbp), %rdi
movl -0x1b4(%rbp), %edx
movq -0x1b0(%rbp), %r8
andl $0x1, %ecx
movl $0x5, %esi
xorl %r9d, %r9d
callq 0x6d710
jmp 0x6c8a3
leaq -0xa8(%rbp), %rdi
callq 0xc6c0
movq -0x1d0(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0x1e0(%rbp)
callq 0xab10
movq %rax, -0x1d8(%rbp)
jmp 0x6c8d1
movq -0x1d8(%rbp), %rax
movl 0xf8(%rax), %eax
decl %eax
cltq
movq %rax, -0x1f0(%rbp)
leaq -0xb5(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
callq 0x7e10
movq -0x1e0(%rbp), %rdi
movq -0x1f0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
callq 0x163f0
jmp 0x6c918
leaq -0xb5(%rbp), %rdi
callq 0x8190
movq -0x1d0(%rbp), %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, -0x200(%rbp)
callq 0xab10
movq %rax, -0x1f8(%rbp)
jmp 0x6c946
movq -0x1f8(%rbp), %rax
movslq 0xf8(%rax), %rax
movq %rax, -0x210(%rbp)
leaq -0xb6(%rbp), %rdi
movq %rdi, -0x208(%rbp)
callq 0x7e10
movq -0x200(%rbp), %rdi
movq -0x210(%rbp), %rsi
movq -0x208(%rbp), %rdx
callq 0x163f0
jmp 0x6c98a
leaq -0xb6(%rbp), %rdi
callq 0x8190
movq -0x1d0(%rbp), %rax
addq $0x158, %rax            # imm = 0x158
movq %rax, -0x220(%rbp)
callq 0xab10
movq %rax, -0x218(%rbp)
jmp 0x6c9b8
movq -0x218(%rbp), %rax
movslq 0x7c(%rax), %rax
movq %rax, -0x230(%rbp)
leaq -0xb7(%rbp), %rdi
movq %rdi, -0x228(%rbp)
callq 0x7e10
movq -0x220(%rbp), %rdi
movq -0x230(%rbp), %rsi
movq -0x228(%rbp), %rdx
callq 0x163f0
jmp 0x6c9f9
leaq -0xb7(%rbp), %rdi
callq 0x8190
movq -0x1d0(%rbp), %rdi
movq $0x0, 0x178(%rdi)
movq $0x0, 0x180(%rdi)
movl $0x0, 0x1a8(%rdi)
addq $0x220, %rdi            # imm = 0x220
movq %rdi, -0x238(%rbp)
callq 0x6d7b0
jmp 0x6ca41
movq -0x1d0(%rbp), %rdi
addq $0x308, %rdi            # imm = 0x308
movq %rdi, -0x270(%rbp)
callq 0x77c0
movq -0x1d0(%rbp), %rdi
addq $0x320, %rdi            # imm = 0x320
movq %rdi, -0x268(%rbp)
callq 0x77c0
movq -0x1d0(%rbp), %rdi
addq $0x338, %rdi            # imm = 0x338
movq %rdi, -0x260(%rbp)
callq 0x77c0
movq -0x1d0(%rbp), %rdi
addq $0x350, %rdi            # imm = 0x350
movq %rdi, -0x258(%rbp)
callq 0x77c0
movq -0x1d0(%rbp), %rdi
addq $0x368, %rdi            # imm = 0x368
movq %rdi, -0x250(%rbp)
callq 0x77c0
movq -0x1d0(%rbp), %rax
addq $0x380, %rax            # imm = 0x380
movq %rax, -0x248(%rbp)
callq 0xab10
movq %rax, -0x240(%rbp)
jmp 0x6cae5
movq -0x240(%rbp), %rdi
callq 0x27200
movl %eax, -0x274(%rbp)
jmp 0x6caf9
movl -0x274(%rbp), %eax
cltq
movq %rax, -0x288(%rbp)
leaq -0xb8(%rbp), %rdi
movq %rdi, -0x280(%rbp)
callq 0x6d9d0
movq -0x248(%rbp), %rdi
movq -0x288(%rbp), %rsi
movq -0x280(%rbp), %rdx
callq 0x6d9f0
jmp 0x6cb37
leaq -0xb8(%rbp), %rdi
callq 0x30e30
movq -0x1d0(%rbp), %rax
addq $0x398, %rax            # imm = 0x398
movq %rax, -0x298(%rbp)
callq 0xab10
movq %rax, -0x290(%rbp)
jmp 0x6cb65
movq -0x290(%rbp), %rdi
callq 0x27200
movl %eax, -0x29c(%rbp)
jmp 0x6cb79
movl -0x29c(%rbp), %eax
movl %eax, -0xbc(%rbp)
callq 0xab10
movq %rax, -0x2a8(%rbp)
jmp 0x6cb93
movq -0x2a8(%rbp), %rdi
callq 0x27200
movl %eax, -0x2ac(%rbp)
jmp 0x6cba7
movq -0x298(%rbp), %rdi
movl -0x2ac(%rbp), %eax
movl %eax, -0xc0(%rbp)
leaq -0xbc(%rbp), %rsi
leaq -0xc0(%rbp), %rdx
callq 0x2fc30
jmp 0x6cbcf
movq -0x1d0(%rbp), %rdi
addq $0x3b8, %rdi            # imm = 0x3B8
movq %rdi, -0x328(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x3c8, %rdi            # imm = 0x3C8
movq %rdi, -0x320(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
movq %rdi, -0x318(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x3e8, %rdi            # imm = 0x3E8
movq %rdi, -0x310(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x3f8, %rdi            # imm = 0x3F8
movq %rdi, -0x308(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x408, %rdi            # imm = 0x408
movq %rdi, -0x300(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x418, %rdi            # imm = 0x418
movq %rdi, -0x2f8(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x428, %rdi            # imm = 0x428
movq %rdi, -0x2f0(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x438, %rdi            # imm = 0x438
movq %rdi, -0x2e8(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x448, %rdi            # imm = 0x448
movq %rdi, -0x2e0(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x458, %rdi            # imm = 0x458
movq %rdi, -0x2d8(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x468, %rdi            # imm = 0x468
movq %rdi, -0x2d0(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rdi
addq $0x478, %rdi            # imm = 0x478
movq %rdi, -0x2c8(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rax
addq $0x488, %rax            # imm = 0x488
movq %rax, -0x2c0(%rbp)
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x2b8(%rbp)
callq 0x6da60
movq -0x2c0(%rbp), %rdi
movq -0x2b8(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x6da80
jmp 0x6cd61
leaq -0xc1(%rbp), %rdi
callq 0x6daf0
movq -0x1d0(%rbp), %rax
addq $0x4a0, %rax            # imm = 0x4A0
movq %rax, -0x338(%rbp)
leaq -0xc2(%rbp), %rdi
movq %rdi, -0x330(%rbp)
callq 0x6da60
movq -0x338(%rbp), %rdi
movq -0x330(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x6da80
jmp 0x6cdad
leaq -0xc2(%rbp), %rdi
callq 0x6daf0
movq -0x1d0(%rbp), %rax
addq $0x4b8, %rax            # imm = 0x4B8
movq %rax, -0x348(%rbp)
leaq -0xc3(%rbp), %rdi
movq %rdi, -0x340(%rbp)
callq 0x6da60
movq -0x348(%rbp), %rdi
movq -0x340(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x6da80
jmp 0x6cdf9
leaq -0xc3(%rbp), %rdi
callq 0x6daf0
movq -0x1d0(%rbp), %rax
addq $0x4d0, %rax            # imm = 0x4D0
movq %rax, -0x358(%rbp)
leaq -0xc4(%rbp), %rdi
movq %rdi, -0x350(%rbp)
callq 0x6da60
movq -0x358(%rbp), %rdi
movq -0x350(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x6da80
jmp 0x6ce45
leaq -0xc4(%rbp), %rdi
callq 0x6daf0
movq -0x1d0(%rbp), %rax
addq $0x4e8, %rax            # imm = 0x4E8
movq %rax, -0x368(%rbp)
leaq -0xc5(%rbp), %rdi
movq %rdi, -0x360(%rbp)
callq 0x6da60
movq -0x368(%rbp), %rdi
movq -0x360(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x6da80
jmp 0x6ce91
leaq -0xc5(%rbp), %rdi
callq 0x6daf0
movq -0x1d0(%rbp), %rdi
addq $0x500, %rdi            # imm = 0x500
movq %rdi, -0x370(%rbp)
callq 0xc030
movq -0x1d0(%rbp), %rsi
movl $0xfffff830, -0xdc(%rbp) # imm = 0xFFFFF830
movl $0x7d0, -0xe0(%rbp)     # imm = 0x7D0
leaq -0xd8(%rbp), %rdi
leaq -0xdc(%rbp), %rdx
leaq -0xe0(%rbp), %rcx
callq 0x26c80
jmp 0x6ceee
movq -0x1d0(%rbp), %rdi
addq $0x3b8, %rdi            # imm = 0x3B8
leaq -0xd8(%rbp), %rsi
movq %rsi, -0x378(%rbp)
callq 0xc1f0
movq -0x378(%rbp), %rdi
callq 0xc220
movq -0x1d0(%rbp), %rsi
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, -0xf8(%rbp)
movabsq $0x409f400000000000, %rax # imm = 0x409F400000000000
movq %rax, -0x100(%rbp)
leaq -0xf0(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
leaq -0x100(%rbp), %rcx
callq 0x6db10
jmp 0x6cf60
movq -0x1d0(%rbp), %rdi
addq $0x3c8, %rdi            # imm = 0x3C8
leaq -0xf0(%rbp), %rsi
movq %rsi, -0x388(%rbp)
callq 0xc510
movq -0x388(%rbp), %rdi
callq 0xc540
movq -0x1d0(%rbp), %rdi
addq $0x8, %rdi
callq 0x2b810
movq %rax, -0x380(%rbp)
jmp 0x6cfa6
movq -0x1d0(%rbp), %rsi
movq -0x380(%rbp), %rax
movq %rax, -0x108(%rbp)
movabsq $0x3fc999999999999a, %rax # imm = 0x3FC999999999999A
movq %rax, -0x120(%rbp)
movabsq $0x40cd4c0000000000, %rax # imm = 0x40CD4C0000000000
movq %rax, -0x128(%rbp)
leaq -0x118(%rbp), %rdi
leaq -0x120(%rbp), %rdx
leaq -0x128(%rbp), %rcx
callq 0x6db50
jmp 0x6cff9
movq -0x108(%rbp), %rdi
addq $0x20, %rdi
leaq -0x118(%rbp), %rsi
movq %rsi, -0x390(%rbp)
callq 0xc440
movq -0x390(%rbp), %rdi
callq 0xc470
movq -0x1d0(%rbp), %rsi
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, -0x140(%rbp)
movabsq $0x409f400000000000, %rax # imm = 0x409F400000000000
movq %rax, -0x148(%rbp)
leaq -0x138(%rbp), %rdi
leaq -0x140(%rbp), %rdx
leaq -0x148(%rbp), %rcx
callq 0x6db10
jmp 0x6d068
movq -0x108(%rbp), %rdi
addq $0x30, %rdi
leaq -0x138(%rbp), %rsi
movq %rsi, -0x398(%rbp)
callq 0xc510
movq -0x398(%rbp), %rdi
callq 0xc540
movq -0x1d0(%rbp), %rsi
movq $0x0, -0x160(%rbp)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, -0x168(%rbp)
leaq -0x158(%rbp), %rdi
leaq -0x160(%rbp), %rdx
leaq -0x168(%rbp), %rcx
callq 0x26d00
jmp 0x6d0d1
movq -0x108(%rbp), %rdi
addq $0x40, %rdi
leaq -0x158(%rbp), %rsi
movq %rsi, -0x3a0(%rbp)
callq 0xc1f0
movq -0x3a0(%rbp), %rdi
callq 0xc220
movq -0x1d0(%rbp), %rsi
movq $0x0, -0x180(%rbp)
movabsq $0x401921fb54442d18, %rax # imm = 0x401921FB54442D18
movq %rax, -0x188(%rbp)
leaq -0x178(%rbp), %rdi
leaq -0x180(%rbp), %rdx
leaq -0x188(%rbp), %rcx
callq 0x26d00
jmp 0x6d13a
movq -0x108(%rbp), %rdi
addq $0x50, %rdi
leaq -0x178(%rbp), %rsi
movq %rsi, -0x3a8(%rbp)
callq 0xc1f0
movq -0x3a8(%rbp), %rdi
callq 0xc220
movq -0x1d0(%rbp), %rsi
movq $0x0, -0x1a0(%rbp)
movabsq $0x401921fb54442d18, %rax # imm = 0x401921FB54442D18
movq %rax, -0x1a8(%rbp)
leaq -0x198(%rbp), %rdi
leaq -0x1a0(%rbp), %rdx
leaq -0x1a8(%rbp), %rcx
callq 0x26d00
jmp 0x6d1a3
movq -0x108(%rbp), %rdi
addq $0x60, %rdi
leaq -0x198(%rbp), %rsi
callq 0xc1f0
leaq -0x198(%rbp), %rdi
callq 0xc220
addq $0x3b0, %rsp            # imm = 0x3B0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0xc6c0
jmp 0x6d537
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x6d52b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xb5(%rbp), %rdi
callq 0x8190
jmp 0x6d52b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x6d51f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xb6(%rbp), %rdi
callq 0x8190
jmp 0x6d51f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x6d513
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xb7(%rbp), %rdi
callq 0x8190
jmp 0x6d513
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x6d507
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x6d4bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x30e30
jmp 0x6d4bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x6d4b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xc1(%rbp), %rdi
callq 0x6daf0
jmp 0x6d40b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xc2(%rbp), %rdi
callq 0x6daf0
jmp 0x6d3ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xc3(%rbp), %rdi
callq 0x6daf0
jmp 0x6d3f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xc4(%rbp), %rdi
callq 0x6daf0
jmp 0x6d3e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xc5(%rbp), %rdi
callq 0x6daf0
jmp 0x6d3db
movq -0x370(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
callq 0xc660
movq -0x368(%rbp), %rdi
callq 0x6db90
movq -0x358(%rbp), %rdi
callq 0x6db90
movq -0x348(%rbp), %rdi
callq 0x6db90
movq -0x338(%rbp), %rdi
callq 0x6db90
movq -0x2c0(%rbp), %rdi
callq 0x6db90
movq -0x2c8(%rbp), %rdi
callq 0xc660
movq -0x2d0(%rbp), %rdi
callq 0xc660
movq -0x2d8(%rbp), %rdi
callq 0xc660
movq -0x2e0(%rbp), %rdi
callq 0xc660
movq -0x2e8(%rbp), %rdi
callq 0xc660
movq -0x2f0(%rbp), %rdi
callq 0xc660
movq -0x2f8(%rbp), %rdi
callq 0xc660
movq -0x300(%rbp), %rdi
callq 0xc660
movq -0x308(%rbp), %rdi
callq 0xc660
movq -0x310(%rbp), %rdi
callq 0xc660
movq -0x318(%rbp), %rdi
callq 0xc660
movq -0x320(%rbp), %rdi
callq 0xc660
movq -0x328(%rbp), %rdi
callq 0xc660
movq -0x298(%rbp), %rdi
callq 0x27fb0
movq -0x248(%rbp), %rdi
callq 0x30a50
movq -0x250(%rbp), %rdi
callq 0x78f0
movq -0x258(%rbp), %rdi
callq 0x78f0
movq -0x260(%rbp), %rdi
callq 0x78f0
movq -0x268(%rbp), %rdi
callq 0x78f0
movq -0x270(%rbp), %rdi
callq 0x78f0
movq -0x238(%rbp), %rdi
callq 0x6dbf0
movq -0x220(%rbp), %rdi
callq 0x78f0
movq -0x200(%rbp), %rdi
callq 0x78f0
movq -0x1e0(%rbp), %rdi
callq 0x78f0
movq -0x1c0(%rbp), %rdi
callq 0x6dcc0
movq -0xb0(%rbp), %rdi
callq 0x6830
nopw %cs:(%rax,%rax)