8 inline float_t H0 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair<const Genotype_pair &, const Relatedness &> > &con) {
9 return pair.m*(-con.c[11]*pair.X_MM*pair.Y_MM + 2*con.c[11]*pair.X_Mm*pair.Y_MM - con.c[11]*pair.X_mm*pair.Y_MM + con.c[12]*con.c[7]*pair.X_Mm*pair.Y_mm - con.c[13]*con.c[7]*pair.X_MM*pair.Y_mm - con.c[13]*con.c[7]*pair.X_mm*pair.Y_mm + 2*con.c[5]*pair.X_MM*pair.Y_Mm*pair.m - 4*con.c[5]*pair.X_Mm*pair.Y_Mm*pair.m + 2*con.c[5]*pair.X_mm*pair.Y_Mm*pair.m)*fabs(con.c[7])/(con.c[0]*pair.X_MM*pair.Y_mm - con.c[10]*con.c[7]*pair.X_Mm*pair.Y_MM + con.c[1]*pair.X_mm*pair.Y_MM + con.c[2]*pair.X_mm*pair.Y_mm - con.c[3]*pair.X_Mm*pair.Y_mm - con.c[4]*pair.X_mm*pair.Y_Mm + con.c[5]*con.c[6]*pair.X_MM*pair.Y_MM + con.c[7]*con.c[8]*pair.X_Mm*pair.Y_Mm - con.c[7]*con.c[9]*pair.X_MM*pair.Y_Mm) ;
12 inline float_t H1 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair<const Genotype_pair &, const Relatedness &> > &con) {
13 return pair.m*(-con.c[11]*pair.X_MM*pair.Y_MM + 2*con.c[11]*pair.X_MM*pair.Y_Mm - con.c[11]*pair.X_MM*pair.Y_mm + con.c[12]*con.c[7]*pair.X_mm*pair.Y_Mm - con.c[13]*con.c[7]*pair.X_mm*pair.Y_MM - con.c[13]*con.c[7]*pair.X_mm*pair.Y_mm + 2*con.c[5]*pair.X_Mm*pair.Y_MM*pair.m - 4*con.c[5]*pair.X_Mm*pair.Y_Mm*pair.m + 2*con.c[5]*pair.X_Mm*pair.Y_mm*pair.m)*fabs(con.c[7])/(con.c[0]*pair.X_MM*pair.Y_mm - con.c[10]*con.c[7]*pair.X_Mm*pair.Y_MM + con.c[1]*pair.X_mm*pair.Y_MM + con.c[2]*pair.X_mm*pair.Y_mm - con.c[3]*pair.X_Mm*pair.Y_mm - con.c[4]*pair.X_mm*pair.Y_Mm + con.c[5]*con.c[6]*pair.X_MM*pair.Y_MM + con.c[7]*con.c[8]*pair.X_Mm*pair.Y_Mm - con.c[7]*con.c[9]*pair.X_MM*pair.Y_Mm) ;
16 inline float_t H2 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair<const Genotype_pair &, const Relatedness &> > &con) {
17 return -pair.m*(4.0*con.c[11]*pair.X_MM*pair.Y_MM + con.c[14]*con.c[7]*pair.X_Mm*pair.Y_Mm + con.c[15]*con.c[7]*pair.X_mm*pair.Y_mm - con.c[16]*con.c[7]*pair.X_MM*pair.Y_Mm - con.c[16]*con.c[7]*pair.X_Mm*pair.Y_MM - con.c[17]*con.c[7]*pair.X_Mm*pair.Y_mm - con.c[17]*con.c[7]*pair.X_mm*pair.Y_Mm + 4.0*con.c[18]*con.c[7]*pair.X_MM*pair.Y_mm + 4.0*con.c[18]*con.c[7]*pair.X_mm*pair.Y_MM)*fabs(con.c[7])/(con.c[0]*pair.X_MM*pair.Y_mm - con.c[10]*con.c[7]*pair.X_Mm*pair.Y_MM + con.c[1]*pair.X_mm*pair.Y_MM + con.c[2]*pair.X_mm*pair.Y_mm - con.c[3]*pair.X_Mm*pair.Y_mm - con.c[4]*pair.X_mm*pair.Y_Mm + con.c[5]*con.c[6]*pair.X_MM*pair.Y_MM + con.c[7]*con.c[8]*pair.X_Mm*pair.Y_Mm - con.c[7]*con.c[9]*pair.X_MM*pair.Y_Mm) ;
20 inline float_t H3 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair<const Genotype_pair &, const Relatedness &> > &con) {
21 return con.c[28]*con.c[7]*pair.m*(con.c[29]*pair.X_Mm*pair.Y_Mm - con.c[30]*pair.X_MM*pair.Y_Mm - con.c[30]*pair.X_mm*pair.Y_Mm + 2.0*con.c[7]*pair.X_MM*pair.Y_MM - 4.0*con.c[7]*pair.X_Mm*pair.Y_MM + 2.0*con.c[7]*pair.X_mm*pair.Y_MM + 2.0*pair.X_MM*pair.Y_mm*pair.m - 4.0*pair.X_Mm*pair.Y_mm*pair.m + 2.0*pair.X_mm*pair.Y_mm*pair.m)*fabs(con.c[7])/(con.c[19]*pair.X_MM*pair.Y_mm + con.c[20]*pair.X_mm*pair.Y_MM - con.c[21]*pair.X_Mm*pair.Y_mm - con.c[22]*pair.X_mm*pair.Y_Mm - con.c[23]*pair.X_mm*pair.Y_mm + con.c[24]*con.c[5]*pair.X_MM*pair.Y_MM + con.c[25]*con.c[7]*pair.X_Mm*pair.Y_Mm - con.c[26]*con.c[7]*pair.X_MM*pair.Y_Mm - con.c[27]*con.c[7]*pair.X_Mm*pair.Y_MM) ;
24 inline float_t H4 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair<const Genotype_pair &, const Relatedness &> > &con) {
25 return con.c[28]*con.c[7]*pair.m*(con.c[29]*pair.X_Mm*pair.Y_Mm - con.c[30]*pair.X_Mm*pair.Y_MM - con.c[30]*pair.X_Mm*pair.Y_mm + 2.0*con.c[7]*pair.X_MM*pair.Y_MM - 4.0*con.c[7]*pair.X_MM*pair.Y_Mm + 2.0*con.c[7]*pair.X_MM*pair.Y_mm + 2.0*pair.X_mm*pair.Y_MM*pair.m - 4.0*pair.X_mm*pair.Y_Mm*pair.m + 2.0*pair.X_mm*pair.Y_mm*pair.m)*fabs(con.c[7])/(con.c[19]*pair.X_MM*pair.Y_mm + con.c[20]*pair.X_mm*pair.Y_MM - con.c[21]*pair.X_Mm*pair.Y_mm - con.c[22]*pair.X_mm*pair.Y_Mm - con.c[23]*pair.X_mm*pair.Y_mm + con.c[24]*con.c[5]*pair.X_MM*pair.Y_MM + con.c[25]*con.c[7]*pair.X_Mm*pair.Y_Mm - con.c[26]*con.c[7]*pair.X_MM*pair.Y_Mm - con.c[27]*con.c[7]*pair.X_Mm*pair.Y_MM) ;
28 inline float_t H5 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair<const Genotype_pair &, const Relatedness &> > &con) {
29 return con.c[5]*pair.m*(pair.X_MM*pair.Y_MM - 2*pair.X_MM*pair.Y_Mm + pair.X_MM*pair.Y_mm - 2*pair.X_Mm*pair.Y_MM + 4*pair.X_Mm*pair.Y_Mm - 2*pair.X_Mm*pair.Y_mm + pair.X_mm*pair.Y_MM - 2*pair.X_mm*pair.Y_Mm + pair.X_mm*pair.Y_mm)*fabs(3.0*con.c[7]*pair.m + 1.0)/(con.c[19]*pair.X_MM*pair.Y_mm + con.c[20]*pair.X_mm*pair.Y_MM - con.c[21]*pair.X_Mm*pair.Y_mm - con.c[22]*pair.X_mm*pair.Y_Mm - con.c[23]*pair.X_mm*pair.Y_mm + con.c[24]*con.c[5]*pair.X_MM*pair.Y_MM + con.c[25]*con.c[7]*pair.X_Mm*pair.Y_Mm - con.c[26]*con.c[7]*pair.X_MM*pair.Y_Mm - con.c[27]*con.c[7]*pair.X_Mm*pair.Y_MM) ;
32 inline float_t H6 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair<const Genotype_pair &, const Relatedness &> > &con) {
33 return con.c[31]*con.c[5]*(pair.X_MM*pair.Y_MM - 2*pair.X_MM*pair.Y_Mm + pair.X_MM*pair.Y_mm - 2*pair.X_Mm*pair.Y_MM + 4*pair.X_Mm*pair.Y_Mm - 2*pair.X_Mm*pair.Y_mm + pair.X_mm*pair.Y_MM - 2*pair.X_mm*pair.Y_Mm + pair.X_mm*pair.Y_mm)*fabs(con.c[7])/(con.c[19]*pair.X_MM*pair.Y_mm + con.c[20]*pair.X_mm*pair.Y_MM - con.c[21]*pair.X_Mm*pair.Y_mm - con.c[22]*pair.X_mm*pair.Y_Mm - con.c[23]*pair.X_mm*pair.Y_mm + con.c[24]*con.c[5]*pair.X_MM*pair.Y_MM + con.c[25]*con.c[7]*pair.X_Mm*pair.Y_Mm - con.c[26]*con.c[7]*pair.X_MM*pair.Y_Mm - con.c[27]*con.c[7]*pair.X_Mm*pair.Y_MM) ;
36 inline float_t J00 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
37 return (-con.c[41]*pair.X_MM*pair.Y_Mm - con.c[41]*pair.X_mm*pair.Y_Mm - con.c[42]*pair.X_MM*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_Mm*pair.Y_mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m - con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(con.c[41]*pair.X_MM*pair.Y_Mm + con.c[41]*pair.X_mm*pair.Y_Mm + con.c[42]*pair.X_MM*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_Mm*pair.Y_mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m + con.c[45]*pair.X_mm*pair.Y_MM*pair.m)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
40 inline float_t J01 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
41 return (con.c[41]*pair.X_MM*pair.Y_Mm + con.c[41]*pair.X_mm*pair.Y_Mm + con.c[42]*pair.X_MM*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_Mm*pair.Y_mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m + con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(-con.c[41]*pair.X_Mm*pair.Y_MM - con.c[41]*pair.X_Mm*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_MM - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_mm*pair.Y_Mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m - con.c[45]*pair.X_MM*pair.Y_mm*pair.m)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
44 inline float_t J02 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
45 return (con.c[41]*pair.X_MM*pair.Y_Mm + con.c[41]*pair.X_mm*pair.Y_Mm + con.c[42]*pair.X_MM*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_Mm*pair.Y_mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m + con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(-4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m - con.c[46]*pair.X_MM*pair.Y_Mm - con.c[46]*pair.X_Mm*pair.Y_MM - con.c[47]*pair.X_MM*pair.Y_mm - con.c[47]*pair.X_mm*pair.Y_MM - con.c[48]*pair.X_Mm*pair.Y_Mm - con.c[49]*pair.X_Mm*pair.Y_mm - con.c[49]*pair.X_mm*pair.Y_Mm - con.c[50]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
48 inline float_t J03 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
49 return (con.c[41]*pair.X_MM*pair.Y_Mm + con.c[41]*pair.X_mm*pair.Y_Mm + con.c[42]*pair.X_MM*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_Mm*pair.Y_mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m + con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m - con.c[51]*pair.X_MM*pair.Y_Mm - con.c[51]*pair.X_mm*pair.Y_Mm - con.c[52]*pair.X_MM*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
52 inline float_t J04 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
53 return (con.c[41]*pair.X_MM*pair.Y_Mm + con.c[41]*pair.X_mm*pair.Y_Mm + con.c[42]*pair.X_MM*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_Mm*pair.Y_mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m + con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m - con.c[51]*pair.X_Mm*pair.Y_MM - con.c[51]*pair.X_Mm*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_MM - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
56 inline float_t J05 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
57 return (con.c[41]*pair.X_MM*pair.Y_Mm + con.c[41]*pair.X_mm*pair.Y_Mm + con.c[42]*pair.X_MM*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_Mm*pair.Y_mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m + con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
60 inline float_t J06 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
61 return (con.c[41]*pair.X_MM*pair.Y_Mm + con.c[41]*pair.X_mm*pair.Y_Mm + con.c[42]*pair.X_MM*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_Mm*pair.Y_mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m + con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
64 inline float_t J10 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
65 return (-con.c[41]*pair.X_MM*pair.Y_Mm - con.c[41]*pair.X_mm*pair.Y_Mm - con.c[42]*pair.X_MM*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_Mm*pair.Y_mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m - con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(con.c[41]*pair.X_Mm*pair.Y_MM + con.c[41]*pair.X_Mm*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_MM + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_mm*pair.Y_Mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m + con.c[45]*pair.X_MM*pair.Y_mm*pair.m)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
68 inline float_t J11 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
69 return (-con.c[41]*pair.X_Mm*pair.Y_MM - con.c[41]*pair.X_Mm*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_MM - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_mm*pair.Y_Mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m - con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(con.c[41]*pair.X_Mm*pair.Y_MM + con.c[41]*pair.X_Mm*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_MM + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_mm*pair.Y_Mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m + con.c[45]*pair.X_MM*pair.Y_mm*pair.m)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
72 inline float_t J12 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
73 return (con.c[41]*pair.X_Mm*pair.Y_MM + con.c[41]*pair.X_Mm*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_MM + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_mm*pair.Y_Mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m + con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(-4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m - con.c[46]*pair.X_MM*pair.Y_Mm - con.c[46]*pair.X_Mm*pair.Y_MM - con.c[47]*pair.X_MM*pair.Y_mm - con.c[47]*pair.X_mm*pair.Y_MM - con.c[48]*pair.X_Mm*pair.Y_Mm - con.c[49]*pair.X_Mm*pair.Y_mm - con.c[49]*pair.X_mm*pair.Y_Mm - con.c[50]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
76 inline float_t J13 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
77 return (con.c[41]*pair.X_Mm*pair.Y_MM + con.c[41]*pair.X_Mm*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_MM + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_mm*pair.Y_Mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m + con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m - con.c[51]*pair.X_MM*pair.Y_Mm - con.c[51]*pair.X_mm*pair.Y_Mm - con.c[52]*pair.X_MM*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
80 inline float_t J14 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
81 return (con.c[41]*pair.X_Mm*pair.Y_MM + con.c[41]*pair.X_Mm*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_MM + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_mm*pair.Y_Mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m + con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m - con.c[51]*pair.X_Mm*pair.Y_MM - con.c[51]*pair.X_Mm*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_MM - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
84 inline float_t J15 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
85 return (con.c[41]*pair.X_Mm*pair.Y_MM + con.c[41]*pair.X_Mm*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_MM + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_mm*pair.Y_Mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m + con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
88 inline float_t J16 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
89 return (con.c[41]*pair.X_Mm*pair.Y_MM + con.c[41]*pair.X_Mm*pair.Y_mm + con.c[42]*pair.X_mm*pair.Y_MM + con.c[42]*pair.X_mm*pair.Y_mm + con.c[43]*pair.X_Mm*pair.Y_Mm + con.c[44]*pair.X_mm*pair.Y_Mm + con.c[45]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m + con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
92 inline float_t J20 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
93 return (-con.c[41]*pair.X_MM*pair.Y_Mm - con.c[41]*pair.X_mm*pair.Y_Mm - con.c[42]*pair.X_MM*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_Mm*pair.Y_mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m - con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m + con.c[46]*pair.X_MM*pair.Y_Mm + con.c[46]*pair.X_Mm*pair.Y_MM + con.c[47]*pair.X_MM*pair.Y_mm + con.c[47]*pair.X_mm*pair.Y_MM + con.c[48]*pair.X_Mm*pair.Y_Mm + con.c[49]*pair.X_Mm*pair.Y_mm + con.c[49]*pair.X_mm*pair.Y_Mm + con.c[50]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
96 inline float_t J21 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
97 return (-con.c[41]*pair.X_Mm*pair.Y_MM - con.c[41]*pair.X_Mm*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_MM - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_mm*pair.Y_Mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m - con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m + con.c[46]*pair.X_MM*pair.Y_Mm + con.c[46]*pair.X_Mm*pair.Y_MM + con.c[47]*pair.X_MM*pair.Y_mm + con.c[47]*pair.X_mm*pair.Y_MM + con.c[48]*pair.X_Mm*pair.Y_Mm + con.c[49]*pair.X_Mm*pair.Y_mm + con.c[49]*pair.X_mm*pair.Y_Mm + con.c[50]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
100 inline float_t J22 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
101 return (-4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m - con.c[46]*pair.X_MM*pair.Y_Mm - con.c[46]*pair.X_Mm*pair.Y_MM - con.c[47]*pair.X_MM*pair.Y_mm - con.c[47]*pair.X_mm*pair.Y_MM - con.c[48]*pair.X_Mm*pair.Y_Mm - con.c[49]*pair.X_Mm*pair.Y_mm - con.c[49]*pair.X_mm*pair.Y_Mm - con.c[50]*pair.X_mm*pair.Y_mm)*(4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m + con.c[46]*pair.X_MM*pair.Y_Mm + con.c[46]*pair.X_Mm*pair.Y_MM + con.c[47]*pair.X_MM*pair.Y_mm + con.c[47]*pair.X_mm*pair.Y_MM + con.c[48]*pair.X_Mm*pair.Y_Mm + con.c[49]*pair.X_Mm*pair.Y_mm + con.c[49]*pair.X_mm*pair.Y_Mm + con.c[50]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
104 inline float_t J23 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
105 return (4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m + con.c[46]*pair.X_MM*pair.Y_Mm + con.c[46]*pair.X_Mm*pair.Y_MM + con.c[47]*pair.X_MM*pair.Y_mm + con.c[47]*pair.X_mm*pair.Y_MM + con.c[48]*pair.X_Mm*pair.Y_Mm + con.c[49]*pair.X_Mm*pair.Y_mm + con.c[49]*pair.X_mm*pair.Y_Mm + con.c[50]*pair.X_mm*pair.Y_mm)*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m - con.c[51]*pair.X_MM*pair.Y_Mm - con.c[51]*pair.X_mm*pair.Y_Mm - con.c[52]*pair.X_MM*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
108 inline float_t J24 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
109 return (4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m + con.c[46]*pair.X_MM*pair.Y_Mm + con.c[46]*pair.X_Mm*pair.Y_MM + con.c[47]*pair.X_MM*pair.Y_mm + con.c[47]*pair.X_mm*pair.Y_MM + con.c[48]*pair.X_Mm*pair.Y_Mm + con.c[49]*pair.X_Mm*pair.Y_mm + con.c[49]*pair.X_mm*pair.Y_Mm + con.c[50]*pair.X_mm*pair.Y_mm)*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m - con.c[51]*pair.X_Mm*pair.Y_MM - con.c[51]*pair.X_Mm*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_MM - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
112 inline float_t J25 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
113 return (4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m + con.c[46]*pair.X_MM*pair.Y_Mm + con.c[46]*pair.X_Mm*pair.Y_MM + con.c[47]*pair.X_MM*pair.Y_mm + con.c[47]*pair.X_mm*pair.Y_MM + con.c[48]*pair.X_Mm*pair.Y_Mm + con.c[49]*pair.X_Mm*pair.Y_mm + con.c[49]*pair.X_mm*pair.Y_Mm + con.c[50]*pair.X_mm*pair.Y_mm)*(-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
116 inline float_t J26 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
117 return (-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m + con.c[46]*pair.X_MM*pair.Y_Mm + con.c[46]*pair.X_Mm*pair.Y_MM + con.c[47]*pair.X_MM*pair.Y_mm + con.c[47]*pair.X_mm*pair.Y_MM + con.c[48]*pair.X_Mm*pair.Y_Mm + con.c[49]*pair.X_Mm*pair.Y_mm + con.c[49]*pair.X_mm*pair.Y_Mm + con.c[50]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
120 inline float_t J30 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
121 return (-con.c[41]*pair.X_MM*pair.Y_Mm - con.c[41]*pair.X_mm*pair.Y_Mm - con.c[42]*pair.X_MM*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_Mm*pair.Y_mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m - con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m + con.c[51]*pair.X_MM*pair.Y_Mm + con.c[51]*pair.X_mm*pair.Y_Mm + con.c[52]*pair.X_MM*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
124 inline float_t J31 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
125 return (-con.c[41]*pair.X_Mm*pair.Y_MM - con.c[41]*pair.X_Mm*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_MM - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_mm*pair.Y_Mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m - con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m + con.c[51]*pair.X_MM*pair.Y_Mm + con.c[51]*pair.X_mm*pair.Y_Mm + con.c[52]*pair.X_MM*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
128 inline float_t J32 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
129 return (-4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m - con.c[46]*pair.X_MM*pair.Y_Mm - con.c[46]*pair.X_Mm*pair.Y_MM - con.c[47]*pair.X_MM*pair.Y_mm - con.c[47]*pair.X_mm*pair.Y_MM - con.c[48]*pair.X_Mm*pair.Y_Mm - con.c[49]*pair.X_Mm*pair.Y_mm - con.c[49]*pair.X_mm*pair.Y_Mm - con.c[50]*pair.X_mm*pair.Y_mm)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m + con.c[51]*pair.X_MM*pair.Y_Mm + con.c[51]*pair.X_mm*pair.Y_Mm + con.c[52]*pair.X_MM*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
132 inline float_t J33 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
133 return (-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m - con.c[51]*pair.X_MM*pair.Y_Mm - con.c[51]*pair.X_mm*pair.Y_Mm - con.c[52]*pair.X_MM*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_Mm*pair.Y_mm)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m + con.c[51]*pair.X_MM*pair.Y_Mm + con.c[51]*pair.X_mm*pair.Y_Mm + con.c[52]*pair.X_MM*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
136 inline float_t J34 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
137 return (-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m - con.c[51]*pair.X_Mm*pair.Y_MM - con.c[51]*pair.X_Mm*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_MM - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_mm*pair.Y_Mm)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m + con.c[51]*pair.X_MM*pair.Y_Mm + con.c[51]*pair.X_mm*pair.Y_Mm + con.c[52]*pair.X_MM*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
140 inline float_t J35 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
141 return (-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m + con.c[51]*pair.X_MM*pair.Y_Mm + con.c[51]*pair.X_mm*pair.Y_Mm + con.c[52]*pair.X_MM*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
144 inline float_t J36 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
145 return (-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m + con.c[51]*pair.X_MM*pair.Y_Mm + con.c[51]*pair.X_mm*pair.Y_Mm + con.c[52]*pair.X_MM*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
148 inline float_t J40 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
149 return (-con.c[41]*pair.X_MM*pair.Y_Mm - con.c[41]*pair.X_mm*pair.Y_Mm - con.c[42]*pair.X_MM*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_Mm*pair.Y_mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m - con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m + con.c[51]*pair.X_Mm*pair.Y_MM + con.c[51]*pair.X_Mm*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_MM + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
152 inline float_t J41 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
153 return (-con.c[41]*pair.X_Mm*pair.Y_MM - con.c[41]*pair.X_Mm*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_MM - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_mm*pair.Y_Mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m - con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m + con.c[51]*pair.X_Mm*pair.Y_MM + con.c[51]*pair.X_Mm*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_MM + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
156 inline float_t J42 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
157 return (-4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m - con.c[46]*pair.X_MM*pair.Y_Mm - con.c[46]*pair.X_Mm*pair.Y_MM - con.c[47]*pair.X_MM*pair.Y_mm - con.c[47]*pair.X_mm*pair.Y_MM - con.c[48]*pair.X_Mm*pair.Y_Mm - con.c[49]*pair.X_Mm*pair.Y_mm - con.c[49]*pair.X_mm*pair.Y_Mm - con.c[50]*pair.X_mm*pair.Y_mm)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m + con.c[51]*pair.X_Mm*pair.Y_MM + con.c[51]*pair.X_Mm*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_MM + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
160 inline float_t J43 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
161 return (-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m - con.c[51]*pair.X_MM*pair.Y_Mm - con.c[51]*pair.X_mm*pair.Y_Mm - con.c[52]*pair.X_MM*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_Mm*pair.Y_mm)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m + con.c[51]*pair.X_Mm*pair.Y_MM + con.c[51]*pair.X_Mm*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_MM + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
164 inline float_t J44 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
165 return (-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m - con.c[51]*pair.X_Mm*pair.Y_MM - con.c[51]*pair.X_Mm*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_MM - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_mm*pair.Y_Mm)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m + con.c[51]*pair.X_Mm*pair.Y_MM + con.c[51]*pair.X_Mm*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_MM + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
168 inline float_t J45 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
169 return (-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m + con.c[51]*pair.X_Mm*pair.Y_MM + con.c[51]*pair.X_Mm*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_MM + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
172 inline float_t J46 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
173 return (-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m - 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m + con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m + con.c[51]*pair.X_Mm*pair.Y_MM + con.c[51]*pair.X_Mm*pair.Y_mm + con.c[52]*pair.X_mm*pair.Y_MM + con.c[52]*pair.X_mm*pair.Y_mm + con.c[53]*pair.X_Mm*pair.Y_Mm + con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
176 inline float_t J50 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
177 return (-con.c[41]*pair.X_MM*pair.Y_Mm - con.c[41]*pair.X_mm*pair.Y_Mm - con.c[42]*pair.X_MM*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_Mm*pair.Y_mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m - con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
180 inline float_t J51 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
181 return (-con.c[41]*pair.X_Mm*pair.Y_MM - con.c[41]*pair.X_Mm*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_MM - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_mm*pair.Y_Mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m - con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
184 inline float_t J52 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
185 return (-4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m - con.c[46]*pair.X_MM*pair.Y_Mm - con.c[46]*pair.X_Mm*pair.Y_MM - con.c[47]*pair.X_MM*pair.Y_mm - con.c[47]*pair.X_mm*pair.Y_MM - con.c[48]*pair.X_Mm*pair.Y_Mm - con.c[49]*pair.X_Mm*pair.Y_mm - con.c[49]*pair.X_mm*pair.Y_Mm - con.c[50]*pair.X_mm*pair.Y_mm)*(con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
188 inline float_t J53 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
189 return (con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m - con.c[51]*pair.X_MM*pair.Y_Mm - con.c[51]*pair.X_mm*pair.Y_Mm - con.c[52]*pair.X_MM*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
192 inline float_t J54 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
193 return (con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m - con.c[51]*pair.X_Mm*pair.Y_MM - con.c[51]*pair.X_Mm*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_MM - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
196 inline float_t J55 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
197 return (-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))*(con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
200 inline float_t J56 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
201 return (-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
204 inline float_t J60 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
205 return (-con.c[41]*pair.X_MM*pair.Y_Mm - con.c[41]*pair.X_mm*pair.Y_Mm - con.c[42]*pair.X_MM*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_Mm*pair.Y_mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_Mm*pair.Y_MM*pair.m - con.c[45]*pair.X_mm*pair.Y_MM*pair.m)*(con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
208 inline float_t J61 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
209 return (-con.c[41]*pair.X_Mm*pair.Y_MM - con.c[41]*pair.X_Mm*pair.Y_mm - con.c[42]*pair.X_mm*pair.Y_MM - con.c[42]*pair.X_mm*pair.Y_mm - con.c[43]*pair.X_Mm*pair.Y_Mm - con.c[44]*pair.X_mm*pair.Y_Mm - con.c[45]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[45]*pair.X_MM*pair.Y_Mm*pair.m - con.c[45]*pair.X_MM*pair.Y_mm*pair.m)*(con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
212 inline float_t J62 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
213 return (con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(-4.0*con.c[45]*pair.X_MM*pair.Y_MM*pair.m - con.c[46]*pair.X_MM*pair.Y_Mm - con.c[46]*pair.X_Mm*pair.Y_MM - con.c[47]*pair.X_MM*pair.Y_mm - con.c[47]*pair.X_mm*pair.Y_MM - con.c[48]*pair.X_Mm*pair.Y_Mm - con.c[49]*pair.X_Mm*pair.Y_mm - con.c[49]*pair.X_mm*pair.Y_Mm - con.c[50]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
216 inline float_t J63 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
217 return (con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_Mm*pair.Y_MM*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_mm*pair.Y_MM*pair.m - con.c[51]*pair.X_MM*pair.Y_Mm - con.c[51]*pair.X_mm*pair.Y_Mm - con.c[52]*pair.X_MM*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_Mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
220 inline float_t J64 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
221 return (con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(-con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_MM*pair.m + 2*con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_Mm*pair.m - con.c[28]*con.c[55]*con.c[56]*pair.X_MM*pair.Y_mm*pair.m - con.c[51]*pair.X_Mm*pair.Y_MM - con.c[51]*pair.X_Mm*pair.Y_mm - con.c[52]*pair.X_mm*pair.Y_MM - con.c[52]*pair.X_mm*pair.Y_mm - con.c[53]*pair.X_Mm*pair.Y_Mm - con.c[54]*pair.X_mm*pair.Y_Mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
224 inline float_t J65 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
225 return (con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]) - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm*fabs(-3.0 + 1.0/pair.m + 1.0/con.c[55]))/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
228 inline float_t J66 (
const Genotype_pair &pair,
const Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con) {
229 return (-con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM - 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm + 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM + 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm - con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)*(con.c[31]*con.c[57]*pair.X_MM*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_MM*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_MM*pair.Y_mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_MM + 4*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_Mm - 2*con.c[31]*con.c[57]*pair.X_Mm*pair.Y_mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_MM - 2*con.c[31]*con.c[57]*pair.X_mm*pair.Y_Mm + con.c[31]*con.c[57]*pair.X_mm*pair.Y_mm)/pow(con.c[32]*pair.X_MM*pair.Y_MM + con.c[33]*pair.X_MM*pair.Y_Mm + con.c[34]*pair.X_MM*pair.Y_mm + con.c[35]*pair.X_Mm*pair.Y_MM + con.c[36]*pair.X_Mm*pair.Y_Mm + con.c[37]*pair.X_Mm*pair.Y_mm + con.c[38]*pair.X_mm*pair.Y_MM + con.c[39]*pair.X_mm*pair.Y_Mm + con.c[40]*pair.X_mm*pair.Y_mm, 2) ;
233 return log((pair.X_MM*pair.Y_MM*pow(pair.m - 1, 2)*(pair.m*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (-pair.m*rel.f_X_*(pair.m - 1) - pair.m*rel.f_Y_*(pair.m - 1) + 2.0*pair.m*rel.gamma_XY_*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_YX_*(2.0*pair.m - 1.0) - 4.0*pair.m*rel.theta_XY_*(pair.m - 1) + pow(pair.m - 1, 2))*fabs(pair.m - 1)) - pair.X_MM*pair.Y_Mm*(pair.m - 1)*(2*pair.m*(pair.m - 1)*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (-2*pair.m*rel.f_X_*pow(pair.m - 1, 2) - 2*pair.m*rel.f_Y_*pow(pair.m - 1, 2) + 4.0*pair.m*rel.gamma_XY_*(pair.m - 1)*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_XY_*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.gamma_YX_*(pair.m - 1)*(2.0*pair.m - 1.0) - 8.0*pair.m*rel.theta_XY_*pow(pair.m - 1, 2) - 2.0*pair.m*rel.theta_XY_ - 2.0*pair.m*(rel.f_X_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + 2*pow(pair.m - 1, 3) + 2.0*pow(pair.m - 1, 2))*fabs(pair.m - 1)) + pair.X_MM*pair.Y_mm*(pair.m*pow(pair.m - 1, 2)*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (-pair.m*rel.f_X_*pow(pair.m - 1, 3) - pair.m*rel.f_X_*(pair.m - 1) - pair.m*rel.f_Y_*pow(pair.m - 1, 3) + 2.0*pair.m*rel.gamma_XY_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_XY_*(pair.m - 1)*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_YX_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) - 4.0*pair.m*rel.theta_XY_*pow(pair.m - 1, 3) - 2.0*pair.m*rel.theta_XY_*(pair.m - 1) - pair.m*(pair.m - 1) + pair.m + pow(pair.m - 1, 4) + 2.0*pow(pair.m - 1, 3) + 4.0*pow(pair.m - 1, 2) - 2.0*(pair.m - 1)*(pair.m*(rel.f_X_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + pair.m - 1) - 1)*fabs(pair.m - 1)) - pair.X_Mm*pair.Y_MM*(pair.m - 1)*(2*pair.m*(pair.m - 1)*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (-2*pair.m*rel.f_X_*pow(pair.m - 1, 2) - 2*pair.m*rel.f_Y_*pow(pair.m - 1, 2) + 4.0*pair.m*rel.gamma_XY_*(pair.m - 1)*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.gamma_YX_*(pair.m - 1)*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_YX_*(2.0*pair.m - 1.0) - 8.0*pair.m*rel.theta_XY_*pow(pair.m - 1, 2) - 2.0*pair.m*rel.theta_XY_ - 2.0*pair.m*(rel.f_Y_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + 2*pow(pair.m - 1, 3) + 2.0*pow(pair.m - 1, 2))*fabs(pair.m - 1)) + pair.X_Mm*pair.Y_Mm*(pair.m - 1)*(4*pair.m*(pair.m - 1)*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (-4*pair.m*rel.f_X_*pow(pair.m - 1, 2) - 4*pair.m*rel.f_Y_*pow(pair.m - 1, 2) + 8.0*pair.m*rel.gamma_XY_*(pair.m - 1)*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.gamma_XY_*(2.0*pair.m - 1.0) + 8.0*pair.m*rel.gamma_YX_*(pair.m - 1)*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.gamma_YX_*(2.0*pair.m - 1.0) - 16.0*pair.m*rel.theta_XY_*pow(pair.m - 1, 2) - 12.0*pair.m*rel.theta_XY_ - 4.0*pair.m*(rel.f_X_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) - 4.0*pair.m*(rel.f_Y_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + 4.0*pair.m + 4*pow(pair.m - 1, 3) + 8.0*pow(pair.m - 1, 2) - 4.0)*fabs(pair.m - 1)) - pair.X_Mm*pair.Y_mm*(2*pair.m*pow(pair.m - 1, 2)*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (-2*pair.m*rel.f_X_*pow(pair.m - 1, 3) - 2.0*pair.m*rel.f_X_*(pair.m - 1) - 2*pair.m*rel.f_Y_*pow(pair.m - 1, 3) + 4.0*pair.m*rel.gamma_XY_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.gamma_XY_*(pair.m - 1)*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.gamma_YX_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_YX_*(pair.m - 1)*(2.0*pair.m - 1.0) - 8.0*pair.m*rel.theta_XY_*pow(pair.m - 1, 3) - 10.0*pair.m*rel.theta_XY_*(pair.m - 1) - 2.0*pair.m*(pair.m - 1) + 4*pair.m + 2*pow(pair.m - 1, 4) + 6.0*pow(pair.m - 1, 3) + 14.0*pow(pair.m - 1, 2) - 4.0*(pair.m - 1)*(pair.m*(rel.f_X_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + pair.m - 1) - 2.0*(pair.m - 1)*(pair.m*(rel.f_Y_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + pair.m - 1) - 4)*fabs(pair.m - 1)) + pair.X_mm*pair.Y_MM*(pair.m*pow(pair.m - 1, 2)*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (-pair.m*rel.f_X_*pow(pair.m - 1, 3) - pair.m*rel.f_Y_*pow(pair.m - 1, 3) - pair.m*rel.f_Y_*(pair.m - 1) + 2.0*pair.m*rel.gamma_XY_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_YX_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_YX_*(pair.m - 1)*(2.0*pair.m - 1.0) - 4.0*pair.m*rel.theta_XY_*pow(pair.m - 1, 3) - 2.0*pair.m*rel.theta_XY_*(pair.m - 1) - pair.m*(pair.m - 1) + pair.m + pow(pair.m - 1, 4) + 2.0*pow(pair.m - 1, 3) + 4.0*pow(pair.m - 1, 2) - 2.0*(pair.m - 1)*(pair.m*(rel.f_Y_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + pair.m - 1) - 1)*fabs(pair.m - 1)) - pair.X_mm*pair.Y_Mm*(2*pair.m*pow(pair.m - 1, 2)*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (-2*pair.m*rel.f_X_*pow(pair.m - 1, 3) - 2*pair.m*rel.f_Y_*pow(pair.m - 1, 3) - 2.0*pair.m*rel.f_Y_*(pair.m - 1) + 4.0*pair.m*rel.gamma_XY_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) + 2.0*pair.m*rel.gamma_XY_*(pair.m - 1)*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.gamma_YX_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.gamma_YX_*(pair.m - 1)*(2.0*pair.m - 1.0) - 8.0*pair.m*rel.theta_XY_*pow(pair.m - 1, 3) - 10.0*pair.m*rel.theta_XY_*(pair.m - 1) - 2.0*pair.m*(pair.m - 1) + 4*pair.m + 2*pow(pair.m - 1, 4) + 6.0*pow(pair.m - 1, 3) + 14.0*pow(pair.m - 1, 2) - 2.0*(pair.m - 1)*(pair.m*(rel.f_X_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + pair.m - 1) - 4.0*(pair.m - 1)*(pair.m*(rel.f_Y_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + pair.m - 1) - 4)*fabs(pair.m - 1)) - pair.X_mm*pair.Y_mm*(-pair.m*pow(pair.m - 1, 2)*(pair.m*rel.Delta_XY_*fabs(pair.m - 1) + rel.delta_XY_*fabs(3.0*pair.m*(pair.m - 1) + 1.0)) + (pair.m*rel.f_X_*pow(pair.m - 1, 3) + pair.m*rel.f_X_*(pair.m - 1) + pair.m*rel.f_Y_*pow(pair.m - 1, 3) + pair.m*rel.f_Y_*(pair.m - 1) - 2.0*pair.m*rel.gamma_XY_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) - 2.0*pair.m*rel.gamma_XY_*(pair.m - 1)*(2.0*pair.m - 1.0) - 2.0*pair.m*rel.gamma_YX_*pow(pair.m - 1, 2)*(2.0*pair.m - 1.0) - 2.0*pair.m*rel.gamma_YX_*(pair.m - 1)*(2.0*pair.m - 1.0) + 4.0*pair.m*rel.theta_XY_*pow(pair.m - 1, 3) + 8.0*pair.m*rel.theta_XY_*(pair.m - 1) + 2*pair.m*(pair.m - 1) - 6*pair.m - pow(pair.m - 1, 4) - 4.0*pow(pair.m - 1, 3) - 12.0*pow(pair.m - 1, 2) + 2.0*(pair.m - 1)*(pair.m*(rel.f_X_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + pair.m - 1) + 2.0*(pair.m - 1)*(pair.m*(rel.f_Y_*(pair.m - 1) + rel.theta_XY_*(2.0*pair.m - 3.0)) + pair.m - 1) + 5)*fabs(pair.m - 1)))/fabs(pair.m - 1))
237 inline void set_c55 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
240 con.c[55]= -pair->m + 1 ;
243 inline void set_c7 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
246 con.c[7]= pair->m - 1 ;
249 inline void set_c57 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
252 con.c[57]= pow(con.c[55], 2) ;
255 inline void set_c56 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
258 con.c[56]= -2.0*pair->m + 2.0 ;
261 inline void set_c45 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
264 con.c[45]= pow(con.c[55], 3) ;
267 inline void set_c28 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
270 con.c[28]= 2.0*pair->m - 1.0 ;
273 inline void set_c11 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
276 con.c[11]= pow(con.c[7], 3) ;
279 inline void set_c5 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
282 con.c[5]= pow(con.c[7], 2) ;
285 inline void set_c31 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
288 con.c[31]= pow(pair->m, 2) ;
291 inline void set_c54 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
294 con.c[54]= -2*con.c[28]*con.c[55]*con.c[56]*pair->m + 4.0*con.c[28]*con.c[55]*pair->m ;
297 inline void set_c53 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
300 con.c[53]= 4*con.c[28]*con.c[55]*con.c[56]*pair->m - 4.0*con.c[28]*con.c[55]*pair->m ;
303 inline void set_c52 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
306 con.c[52]= con.c[28]*con.c[55]*con.c[56]*pair->m - 2.0*con.c[28]*con.c[55]*pair->m ;
309 inline void set_c51 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
312 con.c[51]= -2*con.c[28]*con.c[55]*con.c[56]*pair->m + 2.0*con.c[28]*con.c[55]*pair->m ;
315 inline void set_c50 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
318 con.c[50]= 4.0*con.c[45]*pair->m - 4.0*con.c[55]*pair->m*(-2.0*pair->m + 3.0) + 8.0*con.c[55]*pair->m ;
321 inline void set_c49 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
324 con.c[49]= -8.0*con.c[45]*pair->m + 6.0*con.c[55]*pair->m*(-2.0*pair->m + 3.0) - 10.0*con.c[55]*pair->m ;
327 inline void set_c48 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
330 con.c[48]= 16.0*con.c[45]*pair->m - 8.0*con.c[55]*pair->m*(-2.0*pair->m + 3.0) + 12.0*con.c[55]*pair->m ;
333 inline void set_c47 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
336 con.c[47]= 4.0*con.c[45]*pair->m - 2.0*con.c[55]*pair->m*(-2.0*pair->m + 3.0) + 2.0*con.c[55]*pair->m ;
339 inline void set_c46 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
342 con.c[46]= -8.0*con.c[45]*pair->m + 2.0*con.c[55]*pair->m*(-2.0*pair->m + 3.0) - 2.0*con.c[55]*pair->m ;
345 inline void set_c44 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
348 con.c[44]= -2*con.c[45]*pair->m - 2.0*con.c[55]*pair->m + 4.0*con.c[57]*pair->m ;
351 inline void set_c43 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
354 con.c[43]= 4*con.c[45]*pair->m - 4.0*con.c[57]*pair->m ;
357 inline void set_c42 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
360 con.c[42]= con.c[45]*pair->m + con.c[55]*pair->m - 2.0*con.c[57]*pair->m ;
363 inline void set_c41 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
366 con.c[41]= -2*con.c[45]*pair->m + 2.0*con.c[57]*pair->m ;
369 inline void set_c40 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
372 con.c[40]= con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ + con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*con.c[55]*pair->m*rel->gamma_XY_ - 2.0*con.c[28]*con.c[55]*pair->m*rel->gamma_YX_ + con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) + con.c[45]*pair->m*rel->f_X_ + con.c[45]*pair->m*rel->f_Y_ + 4.0*con.c[45]*pair->m*rel->theta_XY_ - 4.0*con.c[45] + pow(con.c[55], 4) + con.c[55]*pair->m*rel->f_X_ + con.c[55]*pair->m*rel->f_Y_ + 8.0*con.c[55]*pair->m*rel->theta_XY_ - 2.0*con.c[55]*pair->m*(con.c[55]*rel->f_X_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) - 2.0*con.c[55]*pair->m*(con.c[55]*rel->f_Y_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) + 2*con.c[55]*pair->m + 12.0*con.c[57] + 6*pair->m - 5 ;
375 inline void set_c39 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
378 con.c[39]= -2*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ - 2*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*con.c[55]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[55]*pair->m*rel->gamma_YX_ - 2*con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) - 2*con.c[45]*pair->m*rel->f_X_ - 2*con.c[45]*pair->m*rel->f_Y_ - 8.0*con.c[45]*pair->m*rel->theta_XY_ + 6.0*con.c[45] - 2*pow(con.c[55], 4) - 2.0*con.c[55]*pair->m*rel->f_Y_ - 10.0*con.c[55]*pair->m*rel->theta_XY_ + 2.0*con.c[55]*pair->m*(con.c[55]*rel->f_X_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) + 4.0*con.c[55]*pair->m*(con.c[55]*rel->f_Y_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) - 2.0*con.c[55]*pair->m - 14.0*con.c[57] - 4*pair->m + 4 ;
381 inline void set_c38 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
384 con.c[38]= con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ + con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*con.c[55]*pair->m*rel->gamma_YX_ + con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) + con.c[45]*pair->m*rel->f_X_ + con.c[45]*pair->m*rel->f_Y_ + 4.0*con.c[45]*pair->m*rel->theta_XY_ - 2.0*con.c[45] + pow(con.c[55], 4) + con.c[55]*pair->m*rel->f_Y_ + 2.0*con.c[55]*pair->m*rel->theta_XY_ - 2.0*con.c[55]*pair->m*(con.c[55]*rel->f_Y_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) + con.c[55]*pair->m + 4.0*con.c[57] + pair->m - 1 ;
387 inline void set_c37 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
390 con.c[37]= -2*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ - 2*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ + 4.0*con.c[28]*con.c[55]*pair->m*rel->gamma_XY_ + 2.0*con.c[28]*con.c[55]*pair->m*rel->gamma_YX_ - 2*con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) - 2*con.c[45]*pair->m*rel->f_X_ - 2*con.c[45]*pair->m*rel->f_Y_ - 8.0*con.c[45]*pair->m*rel->theta_XY_ + 6.0*con.c[45] - 2*pow(con.c[55], 4) - 2.0*con.c[55]*pair->m*rel->f_X_ - 10.0*con.c[55]*pair->m*rel->theta_XY_ + 4.0*con.c[55]*pair->m*(con.c[55]*rel->f_X_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) + 2.0*con.c[55]*pair->m*(con.c[55]*rel->f_Y_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) - 2.0*con.c[55]*pair->m - 14.0*con.c[57] - 4*pair->m + 4 ;
393 inline void set_c36 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
396 con.c[36]= 4*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ + 4*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ - 4.0*con.c[28]*con.c[55]*pair->m*rel->gamma_XY_ - 4.0*con.c[28]*con.c[55]*pair->m*rel->gamma_YX_ + 4*con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) + 4*con.c[45]*pair->m*rel->f_X_ + 4*con.c[45]*pair->m*rel->f_Y_ + 16.0*con.c[45]*pair->m*rel->theta_XY_ - 8.0*con.c[45] + 4*pow(con.c[55], 4) + 12.0*con.c[55]*pair->m*rel->theta_XY_ - 4.0*con.c[55]*pair->m*(con.c[55]*rel->f_X_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) - 4.0*con.c[55]*pair->m*(con.c[55]*rel->f_Y_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) + 12.0*con.c[57] ;
399 inline void set_c35 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
402 con.c[35]= -2*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ - 2*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*con.c[55]*pair->m*rel->gamma_YX_ - 2*con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) - 2*con.c[45]*pair->m*rel->f_X_ - 2*con.c[45]*pair->m*rel->f_Y_ - 8.0*con.c[45]*pair->m*rel->theta_XY_ + 2.0*con.c[45] - 2*pow(con.c[55], 4) - 2.0*con.c[55]*pair->m*rel->theta_XY_ + 2.0*con.c[55]*pair->m*(con.c[55]*rel->f_Y_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) - 2.0*con.c[57] ;
405 inline void set_c34 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
408 con.c[34]= con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ + con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*con.c[55]*pair->m*rel->gamma_XY_ + con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) + con.c[45]*pair->m*rel->f_X_ + con.c[45]*pair->m*rel->f_Y_ + 4.0*con.c[45]*pair->m*rel->theta_XY_ - 2.0*con.c[45] + pow(con.c[55], 4) + con.c[55]*pair->m*rel->f_X_ + 2.0*con.c[55]*pair->m*rel->theta_XY_ - 2.0*con.c[55]*pair->m*(con.c[55]*rel->f_X_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) + con.c[55]*pair->m + 4.0*con.c[57] + pair->m - 1 ;
411 inline void set_c33 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
414 con.c[33]= -2*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ - 2*con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*con.c[55]*pair->m*rel->gamma_XY_ - 2*con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) - 2*con.c[45]*pair->m*rel->f_X_ - 2*con.c[45]*pair->m*rel->f_Y_ - 8.0*con.c[45]*pair->m*rel->theta_XY_ + 2.0*con.c[45] - 2*pow(con.c[55], 4) - 2.0*con.c[55]*pair->m*rel->theta_XY_ + 2.0*con.c[55]*pair->m*(con.c[55]*rel->f_X_ + con.c[55]/pair->m + rel->theta_XY_*(-2.0*pair->m + 3.0)) - 2.0*con.c[57] ;
417 inline void set_c32 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
420 con.c[32]= con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_XY_ + con.c[28]*con.c[55]*con.c[56]*pair->m*rel->gamma_YX_ + con.c[31]*con.c[57]*(rel->Delta_XY_ + rel->delta_XY_*fabs(-3.0 + 1.0/pair->m + 1.0/con.c[55])) + con.c[45]*pair->m*rel->f_X_ + con.c[45]*pair->m*rel->f_Y_ + 4.0*con.c[45]*pair->m*rel->theta_XY_ + pow(con.c[55], 4) ;
423 inline void set_c30 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
426 con.c[30]= 4.0*pair->m - 2.0 ;
429 inline void set_c29 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
432 con.c[29]= 8.0*pair->m - 4.0 ;
435 inline void set_c27 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
438 con.c[27]= 2*con.c[7]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (2*con.c[11] + 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*pair->m*rel->gamma_YX_ - 2*con.c[5]*pair->m*rel->f_X_ - 2*con.c[5]*pair->m*rel->f_Y_ - 8.0*con.c[5]*pair->m*rel->theta_XY_ + 2.0*con.c[5] - 2.0*pair->m*rel->theta_XY_ - 2.0*pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)))*fabs(con.c[7]) ;
441 inline void set_c26 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
444 con.c[26]= 2*con.c[7]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (2*con.c[11] + 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*pair->m*rel->gamma_XY_ - 2*con.c[5]*pair->m*rel->f_X_ - 2*con.c[5]*pair->m*rel->f_Y_ - 8.0*con.c[5]*pair->m*rel->theta_XY_ + 2.0*con.c[5] - 2.0*pair->m*rel->theta_XY_ - 2.0*pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)))*fabs(con.c[7]) ;
447 inline void set_c25 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
450 con.c[25]= 4*con.c[7]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (4*con.c[11] + 8.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ + 8.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ + 4.0*con.c[28]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*pair->m*rel->gamma_YX_ - 4*con.c[5]*pair->m*rel->f_X_ - 4*con.c[5]*pair->m*rel->f_Y_ - 16.0*con.c[5]*pair->m*rel->theta_XY_ + 8.0*con.c[5] - 12.0*pair->m*rel->theta_XY_ - 4.0*pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - 4.0*pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + 4.0*pair->m - 4.0)*fabs(con.c[7]) ;
453 inline void set_c24 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
456 con.c[24]= pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (2.0*con.c[28]*pair->m*rel->gamma_XY_ + 2.0*con.c[28]*pair->m*rel->gamma_YX_ + con.c[5] - con.c[7]*pair->m*rel->f_X_ - con.c[7]*pair->m*rel->f_Y_ - 4.0*con.c[7]*pair->m*rel->theta_XY_)*fabs(con.c[7]) ;
459 inline void set_c23 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
462 con.c[23]= -con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (con.c[11]*pair->m*rel->f_X_ + con.c[11]*pair->m*rel->f_Y_ + 4.0*con.c[11]*pair->m*rel->theta_XY_ - 4.0*con.c[11] - 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ - 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ - 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ - 12.0*con.c[5] - pow(con.c[7], 4) + con.c[7]*pair->m*rel->f_X_ + con.c[7]*pair->m*rel->f_Y_ + 8.0*con.c[7]*pair->m*rel->theta_XY_ + 2*con.c[7]*pair->m - 2.0*con.c[7]*(-pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - pair->m + 1) - 2.0*con.c[7]*(-pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - pair->m + 1) - 6*pair->m + 5)*fabs(con.c[7]) ;
465 inline void set_c22 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
468 con.c[22]= 2*con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (-2*con.c[11]*pair->m*rel->f_X_ - 2*con.c[11]*pair->m*rel->f_Y_ - 8.0*con.c[11]*pair->m*rel->theta_XY_ + 6.0*con.c[11] + 4.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ + 14.0*con.c[5] + 2*pow(con.c[7], 4) - 2.0*con.c[7]*pair->m*rel->f_Y_ - 10.0*con.c[7]*pair->m*rel->theta_XY_ - 2.0*con.c[7]*pair->m + 2.0*con.c[7]*(-pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - pair->m + 1) + 4.0*con.c[7]*(-pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - pair->m + 1) + 4*pair->m - 4)*fabs(con.c[7]) ;
471 inline void set_c21 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
474 con.c[21]= 2*con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (-2*con.c[11]*pair->m*rel->f_X_ - 2*con.c[11]*pair->m*rel->f_Y_ - 8.0*con.c[11]*pair->m*rel->theta_XY_ + 6.0*con.c[11] + 4.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ + 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ + 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ + 14.0*con.c[5] + 2*pow(con.c[7], 4) - 2.0*con.c[7]*pair->m*rel->f_X_ - 10.0*con.c[7]*pair->m*rel->theta_XY_ - 2.0*con.c[7]*pair->m + 4.0*con.c[7]*(-pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - pair->m + 1) + 2.0*con.c[7]*(-pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - pair->m + 1) + 4*pair->m - 4)*fabs(con.c[7]) ;
477 inline void set_c20 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
480 con.c[20]= con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (-con.c[11]*pair->m*rel->f_X_ - con.c[11]*pair->m*rel->f_Y_ - 4.0*con.c[11]*pair->m*rel->theta_XY_ + 2.0*con.c[11] + 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ + 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ + 4.0*con.c[5] + pow(con.c[7], 4) - con.c[7]*pair->m*rel->f_Y_ - 2.0*con.c[7]*pair->m*rel->theta_XY_ - con.c[7]*pair->m - 2.0*con.c[7]*(pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + pair->m - 1) + pair->m - 1)*fabs(con.c[7]) ;
483 inline void set_c19 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
486 con.c[19]= con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (-con.c[11]*pair->m*rel->f_X_ - con.c[11]*pair->m*rel->f_Y_ - 4.0*con.c[11]*pair->m*rel->theta_XY_ + 2.0*con.c[11] + 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ + 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ + 4.0*con.c[5] + pow(con.c[7], 4) - con.c[7]*pair->m*rel->f_X_ - 2.0*con.c[7]*pair->m*rel->theta_XY_ - con.c[7]*pair->m - 2.0*con.c[7]*(pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + pair->m - 1) + pair->m - 1)*fabs(con.c[7]) ;
489 inline void set_c18 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
492 con.c[18]= con.c[5] + pair->m - 1 ;
495 inline void set_c17 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
498 con.c[17]= 8.0*con.c[5] + 12.0*pair->m - 8.0 ;
501 inline void set_c16 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
504 con.c[16]= 8.0*con.c[5] + 4.0*pair->m - 4.0 ;
507 inline void set_c15 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
510 con.c[15]= 4.0*con.c[5] + 8.0*pair->m - 4.0 ;
513 inline void set_c14 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
516 con.c[14]= 16.0*con.c[5] + 16.0*pair->m - 12.0 ;
519 inline void set_c13 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
522 con.c[13]= con.c[5] + 2.0*pair->m - 1.0 ;
525 inline void set_c12 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
528 con.c[12]= 2*con.c[5] + 4.0*pair->m - 2.0 ;
531 inline void set_c10 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
534 con.c[10]= 2*con.c[7]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) - (-2*con.c[11] - 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ - 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*pair->m*rel->gamma_YX_ + 2*con.c[5]*pair->m*rel->f_X_ + 2*con.c[5]*pair->m*rel->f_Y_ + 8.0*con.c[5]*pair->m*rel->theta_XY_ - 2.0*con.c[5] + 2.0*pair->m*rel->theta_XY_ + 2.0*pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)))*fabs(con.c[7]) ;
537 inline void set_c9 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
540 con.c[9]= 2*con.c[7]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) - (-2*con.c[11] - 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ - 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*pair->m*rel->gamma_XY_ + 2*con.c[5]*pair->m*rel->f_X_ + 2*con.c[5]*pair->m*rel->f_Y_ + 8.0*con.c[5]*pair->m*rel->theta_XY_ - 2.0*con.c[5] + 2.0*pair->m*rel->theta_XY_ + 2.0*pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)))*fabs(con.c[7]) ;
543 inline void set_c8 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
546 con.c[8]= 4*con.c[7]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) - (-4*con.c[11] - 8.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ - 8.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ - 4.0*con.c[28]*pair->m*rel->gamma_XY_ - 4.0*con.c[28]*pair->m*rel->gamma_YX_ + 4*con.c[5]*pair->m*rel->f_X_ + 4*con.c[5]*pair->m*rel->f_Y_ + 16.0*con.c[5]*pair->m*rel->theta_XY_ - 8.0*con.c[5] + 12.0*pair->m*rel->theta_XY_ + 4.0*pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + 4.0*pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - 4.0*pair->m + 4.0)*fabs(con.c[7]) ;
549 inline void set_c6 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
552 con.c[6]= pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) - (-2.0*con.c[28]*pair->m*rel->gamma_XY_ - 2.0*con.c[28]*pair->m*rel->gamma_YX_ - con.c[5] + con.c[7]*pair->m*rel->f_X_ + con.c[7]*pair->m*rel->f_Y_ + 4.0*con.c[7]*pair->m*rel->theta_XY_)*fabs(con.c[7]) ;
555 inline void set_c4 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
558 con.c[4]= 2*con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (-2*con.c[11]*pair->m*rel->f_X_ - 2*con.c[11]*pair->m*rel->f_Y_ - 8.0*con.c[11]*pair->m*rel->theta_XY_ + 6.0*con.c[11] + 4.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ + 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ + 14.0*con.c[5] + 2*pow(con.c[7], 4) - 2.0*con.c[7]*pair->m*rel->f_Y_ - 10.0*con.c[7]*pair->m*rel->theta_XY_ - 2.0*con.c[7]*pair->m - 2.0*con.c[7]*(pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + pair->m - 1) - 4.0*con.c[7]*(pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + pair->m - 1) + 4*pair->m - 4)*fabs(con.c[7]) ;
561 inline void set_c3 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
564 con.c[3]= 2*con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) + (-2*con.c[11]*pair->m*rel->f_X_ - 2*con.c[11]*pair->m*rel->f_Y_ - 8.0*con.c[11]*pair->m*rel->theta_XY_ + 6.0*con.c[11] + 4.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ + 4.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ + 4.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ + 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ + 14.0*con.c[5] + 2*pow(con.c[7], 4) - 2.0*con.c[7]*pair->m*rel->f_X_ - 10.0*con.c[7]*pair->m*rel->theta_XY_ - 2.0*con.c[7]*pair->m - 4.0*con.c[7]*(pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + pair->m - 1) - 2.0*con.c[7]*(pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + pair->m - 1) + 4*pair->m - 4)*fabs(con.c[7]) ;
567 inline void set_c2 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
570 con.c[2]= con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) - (con.c[11]*pair->m*rel->f_X_ + con.c[11]*pair->m*rel->f_Y_ + 4.0*con.c[11]*pair->m*rel->theta_XY_ - 4.0*con.c[11] - 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ - 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ - 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ - 12.0*con.c[5] - pow(con.c[7], 4) + con.c[7]*pair->m*rel->f_X_ + con.c[7]*pair->m*rel->f_Y_ + 8.0*con.c[7]*pair->m*rel->theta_XY_ + 2*con.c[7]*pair->m - 2.0*con.c[7]*(-pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - pair->m + 1) - 2.0*con.c[7]*(-pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) - pair->m + 1) - 6*pair->m + 5)*fabs(con.c[7]) ;
573 inline void set_c1 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
576 con.c[1]= con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) - (con.c[11]*pair->m*rel->f_X_ + con.c[11]*pair->m*rel->f_Y_ + 4.0*con.c[11]*pair->m*rel->theta_XY_ - 2.0*con.c[11] - 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ - 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_YX_ - 4.0*con.c[5] - pow(con.c[7], 4) + con.c[7]*pair->m*rel->f_Y_ + 2.0*con.c[7]*pair->m*rel->theta_XY_ + con.c[7]*pair->m + 2.0*con.c[7]*(pair->m*(con.c[7]*rel->f_Y_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + pair->m - 1) - pair->m + 1)*fabs(con.c[7]) ;
579 inline void set_c0 (
Constants <float_t,
const std::pair <const Genotype_pair &, const Relatedness &> > &con,
const std::pair <const Genotype_pair &, const Relatedness &> &d ) {
582 con.c[0]= con.c[5]*pair->m*(pair->m*rel->Delta_XY_*fabs(con.c[7]) + rel->delta_XY_*fabs(3.0*con.c[7]*pair->m + 1.0)) - (con.c[11]*pair->m*rel->f_X_ + con.c[11]*pair->m*rel->f_Y_ + 4.0*con.c[11]*pair->m*rel->theta_XY_ - 2.0*con.c[11] - 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_XY_ - 2.0*con.c[28]*con.c[5]*pair->m*rel->gamma_YX_ - 2.0*con.c[28]*con.c[7]*pair->m*rel->gamma_XY_ - 4.0*con.c[5] - pow(con.c[7], 4) + con.c[7]*pair->m*rel->f_X_ + 2.0*con.c[7]*pair->m*rel->theta_XY_ + con.c[7]*pair->m + 2.0*con.c[7]*(pair->m*(con.c[7]*rel->f_X_ + rel->theta_XY_*(2.0*pair->m - 3.0)) + pair->m - 1) - pair->m + 1)*fabs(con.c[7]) ;
645 #define REL_ARRAY cfn
Definition: constants.h:7
Definition: genotype_pair.h:19