20 #include <lal/AVFactories.h>
23 #include <lal/LALConstants.h>
24 #include <lal/LALDatatypes.h>
25 #include <lal/LALSimInspiral.h>
26 #include <lal/Units.h>
27 #include <lal/XLALError.h>
28 #include <gsl/gsl_blas.h>
29 #include <gsl/gsl_linalg.h>
30 #include <gsl/gsl_permutation.h>
33 #define Pi_p2 9.8696044010893586188344909998761511
34 #define Pi_p3 31.006276680299820175476315067101395
35 #define Pi_p4 97.409091034002437236440332688705111
36 #define Pi_p5 306.01968478528145326274131004343561
37 #define Pi_p4by3 4.6011511144704899609836928301589280
38 #define Pi_p5by3 6.7388085956981412852178979102191822
39 #define Pi_p10by3 45.411541289455155012188835024560824
40 #define Pi_p7by3 14.454942539276981063196177096150014
41 #define Pi_p1by3 1.4645918875615232630201425272637904
42 #define Pi_p2by3 2.1450293971110256000774441009412356
43 #define Pi_11by3 66.509374974201175524807943232081902
44 #define tenbyPi_p2by3 2.1638812222639821850478371484217674
45 #define twoPi_p2by3 3.4050219214767547368607032470366207
58 return 4.*df*gij/(2.*hSqr);
71 const REAL8 etap2 = eta*eta;
72 const REAL8 etap3 = etap2*eta;
73 const REAL8 chip2 = chi*chi;
74 const REAL8 mcp2 = mc*mc;
76 REAL8 eta_three_fifths = pow(eta, 0.6);
77 REAL8 f_mc_eta = (f*mc)/eta_three_fifths;
78 REAL8 f_mc_eta_one_third = cbrt(f_mc_eta);
80 return (sqrt(0.8333333333333334)*pow(mc/eta_three_fifths,0.8333333333333334)*
82 f_mc_eta_one_third * f_mc_eta_one_third *
83 (743 + 924*eta))/672. -
85 f_mc_eta * f_mc_eta * f_mc_eta_one_third*
86 (5111593 + 8088752*eta + 151088*etap2))/2.709504e6 +
87 (f*mc*
LAL_PI*(-2*
LAL_PI + (113*chi)/24.))/eta_three_fifths +
89 f_mc_eta * f_mc_eta / f_mc_eta_one_third *
90 (12*
LAL_PI*(-4757 + 4788*eta) -
91 (113*(502429 - 591368*eta + 1680*etap2)*chi)/
92 (-113 + 76*eta)))/16128. +
94 f_mc_eta * f_mc_eta_one_third *
95 (7266251 + 9532152*eta + 9730224*etap2 +
96 (3243530304*(-81 + 4*eta)*chip2)/
97 pow(113 - 76*eta,2)))/8.128512e6 +
99 (-58.601030974347324 + (10*
Pi_p2)/3. +
100 (3526813753*eta)/2.7869184e7 -
101 (451*
Pi_p2*eta)/96. -
102 (1041557*etap2)/258048. +
103 (67999*etap3)/82944. +
104 (856*(3*
LAL_GAMMA + log((64*f*mc*
LAL_PI)/eta_three_fifths)))/315.))/(eta_three_fifths * eta_three_fifths)))/
105 (2.*pow(f,1.1666666666666667)*
Pi_p4by3);
118 const REAL8 etap2 = eta*eta;
119 REAL8 etap35 = pow(eta, 0.6);
121 return (113*sqrt(0.8333333333333334)*
Pi_p1by3*
122 pow(mc/etap35,0.8333333333333334)*sqrt(eta)*
125 pow((f*mc)/etap35,1.6666666666666667)*
126 (502429 - 591368*eta + 1680*etap2))/
128 pow((f*mc)/etap35,1.3333333333333333)*
129 (-81 + 4*eta)*chi)/pow(113 - 76*eta,2)))/
130 (32256.*pow(f,1.1666666666666667));
143 const REAL8 etap2 = eta*eta;
144 const REAL8 etap3 = etap2*eta;
145 const REAL8 etap4 = etap3*eta;
146 const REAL8 etap5 = etap4*eta;
147 const REAL8 chip2 = chi*chi;
148 const REAL8 mcp2 = mc*mc;
149 const REAL8 eta_fac = (-113 + 76 * eta) * (-113 + 76 * eta) * (-113 + 76 * eta);
150 REAL8 eta_three_fifths = pow(eta, 0.6);
151 REAL8 f_mc_eta_one_third = cbrt((f*mc)/eta_three_fifths);
153 return (pow(mc/eta_three_fifths,0.8333333333333334)*
154 (2235340800*f_mc_eta_one_third * f_mc_eta_one_third*
155 eta_three_fifths*eta_three_fifths*eta_fac*(-743 + 1386*eta) +
158 (257959397806029 - 36738273116160*
LAL_GAMMA -
159 95047630643350*eta - 12126223216800*etap2 +
160 5541700903200*etap3 +
161 7823692800*
Pi_p2*(-1920 + 451*eta) -
164 (-5111593 - 2311072*eta + 64752*etap2)) +
165 369600*f*mc*
Pi_p1by3*eta_three_fifths*
166 (12192768*
LAL_PI*eta_fac +
168 f_mc_eta_one_third * f_mc_eta_one_third *
170 28703808*eta_fac*chi -
172 f_mc_eta_one_third * f_mc_eta_one_third *
173 (-6415515901 + 12944580756*eta -
174 10861276272*etap2 + 3401313728*etap3)*
177 (34636018030144*etap3 -
178 27532505500416*etap4 +
179 6407002215936*etap5 -
180 1442897*(-7266251 + 20575296*chip2) -
181 21696*etap2*(-4887203 + 102257316*chip2) +
182 76614*eta*(-320998087 + 907387488*chip2))) -
184 eta_fac*log((64*f*mc*
LAL_PI)/eta_three_fifths)))/
185 (1.5021490176e12*sqrt(30)*pow(f,1.1666666666666667)*pow(eta,1.7)*
199 const REAL8 etap2 = eta*eta;
200 const REAL8 etap3 = etap2*eta;
201 const REAL8 etap4 = etap3*eta;
202 const REAL8 chip2 = chi*chi;
203 const REAL8 mcp2 = mc*mc;
204 REAL8 eta_three_fifths = pow(eta, 0.6);
206 return (sqrt(0.8333333333333334)*(5 -
208 (96.*eta_three_fifths*eta_three_fifths) +
210 pow((f*mc)/eta_three_fifths,0.6666666666666666)*
211 (743 + 924*eta))/224. +
213 pow((f*mc)/eta_three_fifths,1.6666666666666667)*
214 (-4757 + 4788*eta))/448. -
215 (19*pow(
LAL_PI,3.3333333333333335)*
216 pow((f*mc)/eta_three_fifths,2.3333333333333335)*
217 (5111593 + 8088752*eta + 151088*etap2))/2.709504e6 +
218 (f*mc*
Pi_p2*(-33047278387200*eta_three_fifths +
219 f*mc*(-1471974996766431 + 208183547658240*
LAL_GAMMA +
220 3231619441873900*eta - 103072897342800*etap2 +
221 20935314523200*etap3)))/
222 (1.5021490176e12*eta_three_fifths*eta_three_fifths) +
223 (1243*f*mc*
LAL_PI*chi)/(24.*eta_three_fifths) -
225 pow((f*mc)/eta_three_fifths,1.6666666666666667)*
226 (502429 - 591368*eta + 1680*etap2)*chi)/
227 (5376.*(-113 + 76*eta)) +
229 pow((f*mc)/eta_three_fifths,1.3333333333333333)*
230 (2490853280*etap2 - 112068617472*etap3 +
232 1808*eta*(-1708561 + 7175952*chip2) -
233 12769*(-7266251 + 20575296*chip2)))/
234 (8.128512e6*pow(113 - 76*eta,2)) +
235 (14552*f*f*mcp2*
Pi_p2*
236 log((64*f*mc*
LAL_PI)/eta_three_fifths))/(315.*eta_three_fifths*eta_three_fifths)))/
237 (12.*pow(f,1.1666666666666667)*
Pi_p2by3*
238 pow(mc/eta_three_fifths,0.16666666666666666)*pow(eta,0.1));
251 const REAL8 etap2 = eta*eta;
252 REAL8 eta_three_fifths = pow(eta, 0.6);
254 return (113*((756*f*mc)/eta_three_fifths +
256 pow((f*mc)/eta_three_fifths,1.3333333333333333)*
257 (-81 + 4*eta)*chi)/pow(113 - 76*eta,2) -
259 pow((f*mc)/eta_three_fifths,1.6666666666666667)*
260 (-146597 + 135856*eta + 17136*etap2)*
264 pow((f*mc)/eta_three_fifths,1.6666666666666667)*eta);
277 const REAL8 etap2 = eta*eta;
278 const REAL8 etap3 = etap2*eta;
279 const REAL8 etap4 = etap3*eta;
280 const REAL8 etap5 = etap4*eta;
281 const REAL8 chip2 = chi*chi;
282 const REAL8 mcp2 = mc*mc;
283 REAL8 eta_three_fifths = pow(eta, 0.6);
284 const REAL8 eta_fac = -113 + 76 * eta;
285 const REAL8 fmc_fac = cbrt(f * mc / eta_three_fifths);
287 return (-77616000*f*mc*
LAL_PI*eta_fac*
288 (23187*
LAL_PI*eta_fac*eta_fac -
289 113*(16565461 - 22282744*eta + 12261424*etap2)*chi)*
292 cbrt(mc/eta_three_fifths))) +
293 (31046400*fmc_fac*fmc_fac*
294 eta_three_fifths * eta_three_fifths *eta_fac*eta_fac*eta_fac*(-743 + 1386*eta) -
296 eta_fac * eta_fac * eta_fac *
297 (33984313019673 - 4592284139520*
LAL_GAMMA -
298 12118079538950*eta - 413215941600*etap2 +
299 2083465692000*etap3 +
300 977961600*
Pi_p2*(-3072 + 451*eta) +
303 (15419335 + 3633744*eta + 2132496*etap2)) -
304 18480*f*mc*
Pi_p1by3*eta_three_fifths*
305 (-6096384*
LAL_PI*eta_fac * eta_fac * eta_fac +
308 eta_fac * eta_fac * eta_fac +
309 14351904*eta_fac * eta_fac * eta_fac*chi -
312 (-1871897093 + 3776925108*eta -
313 3079029456*etap2 + 931868224*etap3)*
316 (14990425815136*etap3 -
317 12186233587584*etap4 +
318 2866657264128*etap5 -
319 1442897*(-3058673 + 5143824*chip2) +
320 612912*eta*(-17749451 + 28355859*chip2) -
321 2712*etap2*(-202619251 + 204514632*chip2)))
323 eta_fac * eta_fac * eta_fac*log((64*f*mc*
LAL_PI)/eta_three_fifths))/
324 (fmc_fac * fmc_fac *eta_three_fifths))/
325 (5.007163392e11*f*mc*
LAL_PI*etap2*eta_fac * eta_fac * eta_fac);
338 const REAL8 etap2 = eta*eta;
339 const REAL8 etap3 = etap2*eta;
340 const REAL8 etap4 = etap3*eta;
341 const REAL8 chip2 = chi*chi;
342 const REAL8 mcp2 = mc*mc;
343 const REAL8 mcp3 = mcp2*mc;
344 REAL8 eta_three_fifths = pow(eta, 0.6);
346 return (cbrt((f*mc)/eta_three_fifths)*
347 (-93139200*pow(113 - 76*eta,2)*eta_three_fifths * eta_three_fifths *
349 pow((f*mc)/eta_three_fifths,0.6666666666666666)*
352 (10052469856691 - 1530761379840*
LAL_GAMMA -
353 24236159077900*eta + 206607970800*etap2 -
355 1955923200*
Pi_p2*(-512 + 451*eta) -
357 cbrt((f*mc)/eta_three_fifths)*
358 (-15419335 - 12718104*eta + 4975824*etap2)) +
359 9240*f*mc*
LAL_PI*eta_three_fifths*
360 (16257024*
LAL_PI*pow(113 - 76*eta,2) -
361 38271744*pow(113 - 76*eta,2)*chi -
363 cbrt((f*mc)/eta_three_fifths)*
364 (-20737091296*etap2 - 43167841920*etap3 +
366 904*eta*(19183315 + 3587976*chip2) -
367 12769*(-3058673 + 5143824*chip2))) -
369 pow(113 - 76*eta,2)*log((64*f*mc*
LAL_PI)/eta_three_fifths)))/
370 (6.0085960704e11*f*f*mcp3*pow(
LAL_PI,1.6666666666666667)*
371 pow(113 - 76*eta,2)*eta);
397 REAL8Vector *dAChi=NULL, *dAT0=NULL, *dAPhi0=NULL, *dPsiMc=NULL;
398 REAL8Vector *dPsiEta=NULL, *dPsiChi=NULL, *dPsiT0=NULL, *dPsiPhi0=NULL;
408 size_t nBins = (fCut - fLow) / df;
429 const REAL8 f = fLow + k * df;
442 dAPhi0->data[k] = 0.;
447 dPsiPhi0->data[k] = 1.;
452 gsl_matrix * g = gsl_matrix_calloc (5, 5);
455 gsl_matrix_set (g, 0,0,
MetricCoeffs(A, dPsiMc, dPsiMc, dAMc, dAMc, &Shdata, hSqr, df));
456 gsl_matrix_set (g, 0,1,
MetricCoeffs(A, dPsiMc, dPsiEta, dAMc, dAEta, &Shdata, hSqr, df));
457 gsl_matrix_set (g, 0,2,
MetricCoeffs(A, dPsiMc, dPsiChi, dAMc, dAChi, &Shdata, hSqr, df));
458 gsl_matrix_set (g, 0,3,
MetricCoeffs(A, dPsiMc, dPsiT0, dAMc, dAT0, &Shdata, hSqr, df));
459 gsl_matrix_set (g, 0,4,
MetricCoeffs(A, dPsiMc, dPsiPhi0, dAMc, dAPhi0, &Shdata, hSqr, df));
461 gsl_matrix_set (g, 1,0, gsl_matrix_get(g, 0,1));
462 gsl_matrix_set (g, 1,1,
MetricCoeffs(A, dPsiEta, dPsiEta, dAEta, dAEta, &Shdata, hSqr, df));
463 gsl_matrix_set (g, 1,2,
MetricCoeffs(A, dPsiEta, dPsiChi, dAEta, dAChi, &Shdata, hSqr, df));
464 gsl_matrix_set (g, 1,3,
MetricCoeffs(A, dPsiEta, dPsiT0, dAEta, dAT0, &Shdata, hSqr, df));
465 gsl_matrix_set (g, 1,4,
MetricCoeffs(A, dPsiEta, dPsiPhi0, dAEta, dAPhi0, &Shdata, hSqr, df));
467 gsl_matrix_set (g, 2,0, gsl_matrix_get(g, 0,2));
468 gsl_matrix_set (g, 2,1, gsl_matrix_get(g, 1,2));
469 gsl_matrix_set (g, 2,2,
MetricCoeffs(A, dPsiChi, dPsiChi, dAChi, dAChi, &Shdata, hSqr, df));
470 gsl_matrix_set (g, 2,3,
MetricCoeffs(A, dPsiChi, dPsiT0, dAChi, dAT0, &Shdata, hSqr, df));
471 gsl_matrix_set (g, 2,4,
MetricCoeffs(A, dPsiChi, dPsiPhi0, dAChi, dAPhi0, &Shdata, hSqr, df));
473 gsl_matrix_set (g, 3,0, gsl_matrix_get(g, 0,3));
474 gsl_matrix_set (g, 3,1, gsl_matrix_get(g, 1,3));
475 gsl_matrix_set (g, 3,2, gsl_matrix_get(g, 2,3));
476 gsl_matrix_set (g, 3,3,
MetricCoeffs(A, dPsiT0, dPsiT0, dAT0, dAT0, &Shdata, hSqr, df));
477 gsl_matrix_set (g, 3,4,
MetricCoeffs(A, dPsiT0, dPsiPhi0, dAT0, dAPhi0, &Shdata, hSqr, df));
479 gsl_matrix_set (g, 4,0, gsl_matrix_get(g, 0,4));
480 gsl_matrix_set (g, 4,1, gsl_matrix_get(g, 1,4));
481 gsl_matrix_set (g, 4,2, gsl_matrix_get(g, 2,4));
482 gsl_matrix_set (g, 4,3, gsl_matrix_get(g, 3,4));
483 gsl_matrix_set (g, 4,4,
MetricCoeffs(A, dPsiPhi0, dPsiPhi0, dAPhi0, dAPhi0, &Shdata, hSqr, df));
502 gsl_matrix_view g1v = gsl_matrix_submatrix (g, 0, 0, 3, 3);
503 gsl_matrix_view g2v = gsl_matrix_submatrix (g, 0, 3, 3, 2);
504 gsl_matrix_view g3v = gsl_matrix_submatrix (g, 3, 3, 2, 2);
505 gsl_matrix_view g4v = gsl_matrix_submatrix (g, 3, 0, 2, 3);
507 gsl_matrix *
g1 = gsl_matrix_calloc (3, 3);
508 gsl_matrix *
g2 = gsl_matrix_calloc (3, 2);
509 gsl_matrix *
g3 = gsl_matrix_calloc (2, 2);
510 gsl_matrix *
g4 = gsl_matrix_calloc (2, 3);
511 gsl_matrix * g3invg4 = gsl_matrix_calloc (2, 3);
512 gsl_matrix * g2g3invg4 = gsl_matrix_calloc (3, 3);
515 gsl_matrix * g3inv = gsl_matrix_calloc (2, 2);
516 gsl_permutation *
p = gsl_permutation_calloc (2);
518 gsl_matrix_memcpy (
g1, &g1v.matrix);
519 gsl_matrix_memcpy (
g2, &g2v.matrix);
520 gsl_matrix_memcpy (
g3, &g3v.matrix);
521 gsl_matrix_memcpy (
g4, &g4v.matrix);
524 gsl_linalg_LU_decomp (
g3,
p, &
s);
525 gsl_linalg_LU_invert (
g3,
p, g3inv);
526 gsl_permutation_free (
p);
527 gsl_matrix_free (
g3);
529 gsl_blas_dgemm (CblasNoTrans, CblasNoTrans, 1.0, g3inv,
g4, 0.0, g3invg4);
530 gsl_matrix_free (
g4);
531 gsl_matrix_free (g3inv);
532 gsl_blas_dgemm (CblasNoTrans, CblasNoTrans, 1.0,
g2, g3invg4, 0.0, g2g3invg4);
533 gsl_matrix_free (
g2);
534 gsl_matrix_free (g3invg4);
536 gsl_matrix_sub (
g1, g2g3invg4);
537 gsl_matrix_free (g2g3invg4);
539 *gamma00 = gsl_matrix_get(
g1, 0, 0);
540 *gamma01 = gsl_matrix_get(
g1, 0, 1);
541 *gamma02 = gsl_matrix_get(
g1, 0, 2);
542 *gamma11 = gsl_matrix_get(
g1, 1, 1);
543 *gamma12 = gsl_matrix_get(
g1, 1, 2);
544 *gamma22 = gsl_matrix_get(
g1, 2, 2);
545 gsl_matrix_free (
g1);
591 const size_t ilow = (size_t) (fLow / df);
594 if ( !momI_0 || !momI_2 || !momI_3 || !momI_4 || !momI_5 || !momI_6 || !momI_7 || !momI_8 || !momI_9 || !momI_10 || !momI_11 || !momI_12 || !momI_13 || !momI_14 || !momI_15 || !momI_16 || !momJ_5 || !momJ_6 || !momJ_7 || !momJ_8 || !momJ_9 || !momJ_10 || !momJ_11 || !momJ_12 || !momJ_13 || !momJ_14 || !momK_10 || !momK_11 || !momK_12) {
603 momI_0->
data[0] = 0.;
604 momI_2->
data[0] = 0.;
605 momI_3->
data[0] = 0.;
606 momI_4->
data[0] = 0.;
607 momI_5->
data[0] = 0.;
608 momI_6->
data[0] = 0.;
609 momI_7->
data[0] = 0.;
610 momI_8->
data[0] = 0.;
611 momI_9->
data[0] = 0.;
612 momI_10->
data[0] = 0.;
613 momI_11->
data[0] = 0.;
614 momI_12->
data[0] = 0.;
615 momI_13->
data[0] = 0.;
616 momI_14->
data[0] = 0.;
617 momI_15->
data[0] = 0.;
618 momI_16->
data[0] = 0.;
620 momJ_5->
data[0] = 0.;
621 momJ_6->
data[0] = 0.;
622 momJ_7->
data[0] = 0.;
623 momJ_8->
data[0] = 0.;
624 momJ_9->
data[0] = 0.;
625 momJ_10->
data[0] = 0.;
626 momJ_11->
data[0] = 0.;
627 momJ_12->
data[0] = 0.;
628 momJ_13->
data[0] = 0.;
629 momJ_14->
data[0] = 0.;
631 momK_10->
data[0] = 0.;
632 momK_11->
data[0] = 0.;
633 momK_12->
data[0] = 0.;
635 const REAL8 fLowmSevenBythree = pow(fLow, -7./3.);
636 const REAL8 fLowFac = fLowmSevenBythree * df;
640 const REAL8 fbyfLow = (
i*df+fLow)/fLow;
641 const REAL8 logfbyfLow = log(fbyfLow);
642 const REAL8 logfbyfLowSq = logfbyfLow * logfbyfLow;
643 const REAL8 fbyfLowp2 = fbyfLow * fbyfLow;
644 const REAL8 fbyfLowp3 = fbyfLowp2 * fbyfLow;
645 const REAL8 fbyfLowp4 = fbyfLowp3 * fbyfLow;
646 const REAL8 fbyfLowp5 = fbyfLowp4 * fbyfLow;
647 const REAL8 cbrtfbyfLow = cbrt(fbyfLow);
649 momI_0->
data[
i] = momI_0->
data[
i-1] + fLowFac/(fbyfLowp5*cbrtfbyfLow*cbrtfbyfLow)/psdfac;
650 momI_2->
data[
i] = momI_2->
data[
i-1] + fLowFac/fbyfLowp5/psdfac;
651 momI_3->
data[
i] = momI_3->
data[
i-1] + fLowFac/fbyfLowp5*cbrtfbyfLow/psdfac;
652 momI_4->
data[
i] = momI_4->
data[
i-1] + fLowFac/fbyfLowp4/cbrtfbyfLow/psdfac;
653 momI_5->
data[
i] = momI_5->
data[
i-1] + fLowFac/fbyfLowp4/psdfac;
654 momI_6->
data[
i] = momI_6->
data[
i-1] + fLowFac/fbyfLowp4*cbrtfbyfLow/psdfac;
655 momI_7->
data[
i] = momI_7->
data[
i-1] + fLowFac/fbyfLowp3/cbrtfbyfLow/psdfac;
656 momI_8->
data[
i] = momI_8->
data[
i-1] + fLowFac/fbyfLowp3/psdfac;
657 momI_9->
data[
i] = momI_9->
data[
i-1] + fLowFac/fbyfLowp3*cbrtfbyfLow/psdfac;
658 momI_10->
data[
i] = momI_10->
data[
i-1] + fLowFac/fbyfLowp2/cbrtfbyfLow/psdfac;
659 momI_11->
data[
i] = momI_11->
data[
i-1] + fLowFac/fbyfLowp2/psdfac;
660 momI_12->
data[
i] = momI_12->
data[
i-1] + fLowFac/fbyfLowp2*cbrtfbyfLow/psdfac;
661 momI_13->
data[
i] = momI_13->
data[
i-1] + fLowFac/fbyfLow/cbrtfbyfLow/psdfac;
662 momI_14->
data[
i] = momI_14->
data[
i-1] + fLowFac/fbyfLow/psdfac;
663 momI_15->
data[
i] = momI_15->
data[
i-1] + fLowFac/fbyfLow*cbrtfbyfLow/psdfac;
664 momI_16->
data[
i] = momI_16->
data[
i-1] + fLowFac/cbrtfbyfLow/psdfac;
666 momJ_5->
data[
i] = momJ_5->
data[
i-1] + fLowFac*logfbyfLow/fbyfLowp4/psdfac;
667 momJ_6->
data[
i] = momJ_6->
data[
i-1] + fLowFac*logfbyfLow/fbyfLowp4*cbrtfbyfLow/psdfac;
668 momJ_7->
data[
i] = momJ_7->
data[
i-1] + fLowFac*logfbyfLow/fbyfLowp3/cbrtfbyfLow/psdfac;
669 momJ_8->
data[
i] = momJ_8->
data[
i-1] + fLowFac*logfbyfLow/fbyfLowp3/psdfac;
670 momJ_9->
data[
i] = momJ_9->
data[
i-1] + fLowFac*logfbyfLow/fbyfLowp3*cbrtfbyfLow/psdfac;
671 momJ_10->
data[
i] = momJ_10->
data[
i-1] + fLowFac*logfbyfLow/fbyfLowp2/cbrtfbyfLow/psdfac;
672 momJ_11->
data[
i] = momJ_11->
data[
i-1] + fLowFac*logfbyfLow/fbyfLowp2/psdfac;
673 momJ_12->
data[
i] = momJ_12->
data[
i-1] + fLowFac*logfbyfLow/fbyfLowp2*cbrtfbyfLow/psdfac;
674 momJ_13->
data[
i] = momJ_13->
data[
i-1] + fLowFac*logfbyfLow/fbyfLow/cbrtfbyfLow/psdfac;
675 momJ_14->
data[
i] = momJ_14->
data[
i-1] + fLowFac*logfbyfLow/fbyfLow/psdfac;
677 momK_10->
data[
i] = momK_10->
data[
i-1] + fLowFac*logfbyfLowSq/fbyfLowp2/cbrtfbyfLow/psdfac;
678 momK_11->
data[
i] = momK_11->
data[
i-1] + fLowFac*logfbyfLowSq/fbyfLowp2/psdfac;
679 momK_12->
data[
i] = momK_12->
data[
i-1] + fLowFac*logfbyfLowSq/fbyfLowp2*cbrtfbyfLow/psdfac;
733 REAL8 theta0_p2 = theta0 * theta0;
734 REAL8 theta3_p2 = theta3 * theta3;
735 REAL8 theta3s_p2 = theta3s * theta3s;
736 REAL8 theta3_p3 = theta3_p2 * theta3;
737 REAL8 theta3_p4 = theta3_p3 * theta3;
738 REAL8 theta3_p5 = theta3_p4 * theta3;
739 REAL8 theta0_p1by3 = cbrt(theta0);
740 REAL8 theta3_p1by3 = cbrt(theta3);
741 REAL8 theta0_p2by3 = theta0 / theta0_p1by3;
742 REAL8 theta3_p2by3 = theta3 / theta3_p1by3;
743 REAL8 theta3_p5by3 = theta3_p2 / theta3_p1by3;
744 REAL8 theta0_p4by3 = theta0 * theta0_p1by3;
745 REAL8 theta3_p4by3 = theta3 * theta3_p1by3;
746 REAL8 theta0_p5by3 = theta0_p2 / theta0_p1by3;
747 REAL8 theta3_p8by3 = theta3_p3 / theta3_p1by3;
748 REAL8 theta0_p7by3 = theta0_p2 * theta0_p1by3;
749 REAL8 theta3_p10by3 = theta3_p3 * theta3_p1by3;
750 REAL8 theta3bytheta0_p2by3 = cbrt(theta3_p2/theta0_p2);
753 REAL8 theta03_fac = -152*2.15443469003188*
Pi_p5by3*theta0_p2by3 + 565*theta3_p5by3;
754 REAL8 theta03_fac_p2 = theta03_fac * theta03_fac;
755 REAL8 theta03_fac_p3 = theta03_fac_p2 * theta03_fac;
760 REAL8 fISCO = (8*sqrt(0.6666666666666666)*fLow*
LAL_PI*theta0)/(15.*theta3);
765 size_t iCut = (fISCO - fLow) / df;
766 if (iCut > momI_10->
length - 1) {
767 XLALPrintWarning(
"moments do not cover fISCO (%g Hz); truncating to (%g Hz)", fISCO, (momI_10->
length - 1) * df + fLow);
768 iCut = momI_10->
length - 1;
777 REAL8 dPhi0byDtheta0 = 0.6;
781 REAL8 dPhi4byDtheta0 = (5429*2.92401773821287*cbrt(
LAL_PI/(2.*theta0_p2*theta3)))/16128. - (15293365*1.7099759466767)/(3.2514048e7*1.5874010519682*
Pi_p4by3/theta3bytheta0_p2by3/theta3bytheta0_p2by3) + (617*
Pi_p2)/(384.*theta3_p2) - (13596750*4.64158883361278*
Pi_p7by3*theta3_p8by3*theta3s_p2)/(theta0_p2by3*theta03_fac_p3) + (91125*1.7099759466767*
Pi_p2by3*theta3_p8by3*theta3s_p2)/(2.*1.5874010519682*theta0_p4by3*theta03_fac_p2) + (2052000*
Pi_p4*theta3*theta3s_p2)/theta03_fac_p3;
783 REAL8 dPhi5byDtheta0 = (5*1.7099759466767*theta3_p2by3*(-873377*2.15443469003188*theta3 + 2345552*2.15443469003188*theta3s + (344829849600*
Pi_p10by3*theta0_p4by3*theta3s)/theta03_fac_p2))/(1.0934784e7*
twoPi_p2by3*theta0_p5by3);
785 REAL8 dPhi6byDtheta0 = (-888945361920*
Pi_p5*theta0_p2 + 33057275328*4.64158883361278*
Pi_p10by3*theta0_p4by3*theta3_p5by3 + 9694463631160*2.15443469003188*
Pi_p5by3*theta0_p2by3*theta3_p10by3 - 352848545280*2.15443469003188*
Pi_11by3*theta0_p2by3*theta3_p10by3 + 3*(-11072977443251 + 1530761379840*
LAL_GAMMA)*theta3_p5 + 3004298035200*
Pi_p2*theta3_p5 + 1530761379840*theta3_p5*log((10*theta3)/(
LAL_PI*theta0)))/(9.61375371264e11*
Pi_p2*theta0_p2*theta3_p3);
787 REAL8 dPhi7byDtheta0 = (-5*theta3_p2by3*(12718104*4.64158883361278*
Pi_p5by3*theta0_p2by3 + 77096675*2.15443469003188*theta3_p5by3))/(2.60112384e8*
Pi_p4by3*theta0_p7by3);
791 REAL8 dPhi3byDtheta3 = -1.5;
793 REAL8 dPhi4byDtheta3 = ((-52242624*
Pi_p2*theta0_p4by3)/theta3_p3 - (2736216*4.64158883361278*
Pi_p1by3*theta0_p2by3)/theta3_p4by3 + (15293365*2.15443469003188*theta3_p1by3)/
Pi_p4by3 + (740710656000*2.15443469003188*
Pi_p2by3*theta3_p5by3*(608*2.15443469003188*
Pi_p5by3*theta0_p2by3 + 565*theta3_p5by3)*theta3s_p2)/theta03_fac_p3 - (7315660800*4.64158883361278*
Pi_p7by3*theta0_p2by3*(456*2.15443469003188*
Pi_p5by3*theta0_p2by3 + 3955*theta3_p5by3)*theta3s_p2)/theta03_fac_p3)/(1.6257024e7*theta0_p1by3);
795 REAL8 dPhi5byDtheta3 = (5*(640*2.15443469003188*
Pi_p10by3*theta0_p4by3*theta3_p5by3*(13950845*theta3 - 36141056*theta3s) - 4000*
Pi_p5by3*theta0_p2by3*theta3_p10by3*(16594163*theta3 - 12773768*theta3s) + 2825*4.64158883361278*theta3_p5*(4366885*theta3 - 4691104*theta3s) + 1000194048*4.64158883361278*
Pi_p5*theta0_p2*theta3s))/(387072.*
Pi_p2by3*theta0_p2by3*pow(152*2.15443469003188*
Pi_p5by3*theta0_p2by3*theta3 - 565*theta3_p8by3,2));
797 REAL8 dPhi6byDtheta3 = (1333418042880*
Pi_p5*theta0_p2 - 66114550656*4.64158883361278*
Pi_p10by3*theta0_p4by3*theta3_p5by3 - 4847231815580*2.15443469003188*
Pi_p5by3*theta0_p2by3*theta3_p10by3 + 176424272640*2.15443469003188*
Pi_11by3*theta0_p2by3*theta3_p10by3 + 3*(11328104339891 - 1530761379840*
LAL_GAMMA)*theta3_p5 - 3004298035200*
Pi_p2*theta3_p5 - 1530761379840*theta3_p5*log((10*theta3)/(
LAL_PI*theta0)))/(4.80687685632e11*
Pi_p2*theta0*theta3_p4);
799 REAL8 dPhi7byDtheta3 = (5*(17059968*
Pi_p10by3 + (7267488*4.64158883361278*
Pi_p5by3*theta3_p5by3)/theta0_p2by3 + (77096675*2.15443469003188*theta3_p10by3)/theta0_p4by3))/(1.48635648e8*
Pi_p4by3*theta3_p2);
801 REAL8 dPhi3byDtheta3s = 1.5;
803 REAL8 dPhi4byDtheta3s = (675*theta3*(8*4.64158883361278*
Pi_p7by3*theta0_p2by3 - 405*2.15443469003188*
Pi_p2by3*theta3_p5by3)*theta3s)/(2.*theta0_p1by3*theta03_fac_p2);
805 REAL8 dPhi5byDtheta3s = (5*(-2785343*
tenbyPi_p2by3*theta3bytheta0_p2by3 + (816*
LAL_PI*(-2373 + (3301450*theta3_p5by3)/theta03_fac))/theta3))/1.7313408e7;
809 REAL8 dPhi5byDphi0 = 1.;
811 REAL8 dPhiL5byDtheta0 = (5*1.7099759466767*theta3_p2by3*(-873377*2.15443469003188*theta3 + 2345552*2.15443469003188*theta3s + (344829849600*
Pi_p10by3*theta0_p4by3*theta3s)/theta03_fac_p2))/(1.0934784e7*
twoPi_p2by3*theta0_p5by3);
813 REAL8 dPhiL6byDtheta0 = (535*theta3_p2)/(336.*
Pi_p2*theta0_p2);
815 REAL8 dPhiL5byDtheta3 = (5*(640*2.15443469003188*
Pi_p10by3*theta0_p4by3*theta3_p5by3*(13950845*theta3 - 36141056*theta3s) - 4000*
Pi_p5by3*theta0_p2by3*theta3_p10by3*(16594163*theta3 - 12773768*theta3s) + 2825*4.64158883361278*theta3_p5*(4366885*theta3 - 4691104*theta3s) + 1000194048*4.64158883361278*
Pi_p5*theta0_p2*theta3s))/(387072.*
Pi_p2by3*theta0_p2by3*pow(152*2.15443469003188*
Pi_p5by3*theta0_p2by3*theta3 - 565*theta3_p8by3,2));
817 REAL8 dPhiL6byDtheta3 = (-535*theta3)/(168.*
Pi_p2*theta0);
819 REAL8 dPhiL5byDtheta3s = (5*(-2785343*
tenbyPi_p2by3*theta3bytheta0_p2by3 + (816*
LAL_PI*(-2373 + (3301450*theta3_p5by3)/theta03_fac))/theta3))/1.7313408e7;
825 REAL8 g_theta0theta0 = dPhi0byDtheta0 * dPhi0byDtheta0 * momI_0->
data[iCut] +
826 dPhi0byDtheta0 * dPhi2byDtheta0 * momI_2->
data[iCut] +
827 dPhi0byDtheta0 * dPhi4byDtheta0 * momI_4->
data[iCut] +
828 dPhi0byDtheta0 * dPhi5byDtheta0 * momI_5->
data[iCut] +
829 dPhi0byDtheta0 * dPhiL5byDtheta0 * momJ_5->
data[iCut] +
830 dPhi0byDtheta0 * dPhi6byDtheta0 * momI_6->
data[iCut] +
831 dPhi0byDtheta0 * dPhiL6byDtheta0 * momJ_6->
data[iCut] +
832 dPhi0byDtheta0 * dPhi7byDtheta0 * momI_7->
data[iCut] +
833 dPhi2byDtheta0 * dPhi0byDtheta0 * momI_2->
data[iCut] +
834 dPhi2byDtheta0 * dPhi2byDtheta0 * momI_4->
data[iCut] +
835 dPhi2byDtheta0 * dPhi4byDtheta0 * momI_6->
data[iCut] +
836 dPhi2byDtheta0 * dPhi5byDtheta0 * momI_7->
data[iCut] +
837 dPhi2byDtheta0 * dPhiL5byDtheta0 * momJ_7->
data[iCut] +
838 dPhi2byDtheta0 * dPhi6byDtheta0 * momI_8->
data[iCut] +
839 dPhi2byDtheta0 * dPhiL6byDtheta0 * momJ_8->
data[iCut] +
840 dPhi2byDtheta0 * dPhi7byDtheta0 * momI_9->
data[iCut] +
841 dPhi4byDtheta0 * dPhi0byDtheta0 * momI_4->
data[iCut] +
842 dPhi4byDtheta0 * dPhi2byDtheta0 * momI_6->
data[iCut] +
843 dPhi4byDtheta0 * dPhi4byDtheta0 * momI_8->
data[iCut] +
844 dPhi4byDtheta0 * dPhi5byDtheta0 * momI_9->
data[iCut] +
845 dPhi4byDtheta0 * dPhiL5byDtheta0 * momJ_9->
data[iCut] +
846 dPhi4byDtheta0 * dPhi6byDtheta0 * momI_10->
data[iCut] +
847 dPhi4byDtheta0 * dPhiL6byDtheta0 * momJ_10->
data[iCut] +
848 dPhi4byDtheta0 * dPhi7byDtheta0 * momI_11->
data[iCut] +
849 dPhi5byDtheta0 * dPhi0byDtheta0 * momI_5->
data[iCut] +
850 dPhiL5byDtheta0 * dPhi0byDtheta0 * momJ_5->
data[iCut] +
851 dPhi5byDtheta0 * dPhi2byDtheta0 * momI_7->
data[iCut] +
852 dPhiL5byDtheta0 * dPhi2byDtheta0 * momJ_7->
data[iCut] +
853 dPhi5byDtheta0 * dPhi4byDtheta0 * momI_9->
data[iCut] +
854 dPhiL5byDtheta0 * dPhi4byDtheta0 * momJ_9->
data[iCut] +
855 dPhi5byDtheta0 * dPhi5byDtheta0 * momI_10->
data[iCut] +
856 dPhi5byDtheta0 * dPhiL5byDtheta0 * momJ_10->
data[iCut] +
857 dPhiL5byDtheta0 * dPhi5byDtheta0 * momJ_10->
data[iCut] +
858 dPhiL5byDtheta0 * dPhiL5byDtheta0 * momK_10->
data[iCut] +
859 dPhi5byDtheta0 * dPhi6byDtheta0 * momI_11->
data[iCut] +
860 dPhi5byDtheta0 * dPhiL6byDtheta0 * momJ_11->
data[iCut] +
861 dPhiL5byDtheta0 * dPhi6byDtheta0 * momJ_11->
data[iCut] +
862 dPhiL5byDtheta0 * dPhiL6byDtheta0 * momK_11->
data[iCut] +
863 dPhi5byDtheta0 * dPhi7byDtheta0 * momI_12->
data[iCut] +
864 dPhiL5byDtheta0 * dPhi7byDtheta0 * momJ_12->
data[iCut] +
865 dPhi6byDtheta0 * dPhi0byDtheta0 * momI_6->
data[iCut] +
866 dPhiL6byDtheta0 * dPhi0byDtheta0 * momJ_6->
data[iCut] +
867 dPhi6byDtheta0 * dPhi2byDtheta0 * momI_8->
data[iCut] +
868 dPhiL6byDtheta0 * dPhi2byDtheta0 * momJ_8->
data[iCut] +
869 dPhi6byDtheta0 * dPhi4byDtheta0 * momI_10->
data[iCut] +
870 dPhiL6byDtheta0 * dPhi4byDtheta0 * momJ_10->
data[iCut] +
871 dPhi6byDtheta0 * dPhi5byDtheta0 * momI_11->
data[iCut] +
872 dPhi6byDtheta0 * dPhiL5byDtheta0 * momJ_11->
data[iCut] +
873 dPhiL6byDtheta0 * dPhi5byDtheta0 * momJ_11->
data[iCut] +
874 dPhiL6byDtheta0 * dPhiL5byDtheta0 * momK_11->
data[iCut] +
875 dPhi6byDtheta0 * dPhi6byDtheta0 * momI_12->
data[iCut] +
876 dPhi6byDtheta0 * dPhiL6byDtheta0 * momJ_12->
data[iCut] +
877 dPhiL6byDtheta0 * dPhi6byDtheta0 * momJ_12->
data[iCut] +
878 dPhiL6byDtheta0 * dPhiL6byDtheta0 * momK_12->
data[iCut] +
879 dPhi6byDtheta0 * dPhi7byDtheta0 * momI_13->
data[iCut] +
880 dPhiL6byDtheta0 * dPhi7byDtheta0 * momJ_13->
data[iCut] +
881 dPhi7byDtheta0 * dPhi0byDtheta0 * momI_7->
data[iCut] +
882 dPhi7byDtheta0 * dPhi2byDtheta0 * momI_9->
data[iCut] +
883 dPhi7byDtheta0 * dPhi4byDtheta0 * momI_11->
data[iCut] +
884 dPhi7byDtheta0 * dPhi5byDtheta0 * momI_12->
data[iCut] +
885 dPhi7byDtheta0 * dPhiL5byDtheta0 * momJ_12->
data[iCut] +
886 dPhi7byDtheta0 * dPhi6byDtheta0 * momI_13->
data[iCut] +
887 dPhi7byDtheta0 * dPhiL6byDtheta0 * momJ_13->
data[iCut] +
888 dPhi7byDtheta0 * dPhi7byDtheta0 * momI_14->
data[iCut] +
895 REAL8 g_theta0theta3 = dPhi0byDtheta0 * dPhi2byDtheta3 * momI_2->
data[iCut] +
896 dPhi0byDtheta0 * dPhi3byDtheta3 * momI_3->
data[iCut] +
897 dPhi0byDtheta0 * dPhi4byDtheta3 * momI_4->
data[iCut] +
898 dPhi0byDtheta0 * dPhi5byDtheta3 * momI_5->
data[iCut] +
899 dPhi0byDtheta0 * dPhiL5byDtheta3 * momJ_5->
data[iCut] +
900 dPhi0byDtheta0 * dPhi6byDtheta3 * momI_6->
data[iCut] +
901 dPhi0byDtheta0 * dPhiL6byDtheta3 * momJ_6->
data[iCut] +
902 dPhi0byDtheta0 * dPhi7byDtheta3 * momI_7->
data[iCut] +
903 dPhi2byDtheta0 * dPhi2byDtheta3 * momI_4->
data[iCut] +
904 dPhi2byDtheta0 * dPhi3byDtheta3 * momI_5->
data[iCut] +
905 dPhi2byDtheta0 * dPhi4byDtheta3 * momI_6->
data[iCut] +
906 dPhi2byDtheta0 * dPhi5byDtheta3 * momI_7->
data[iCut] +
907 dPhi2byDtheta0 * dPhiL5byDtheta3 * momJ_7->
data[iCut] +
908 dPhi2byDtheta0 * dPhi6byDtheta3 * momI_8->
data[iCut] +
909 dPhi2byDtheta0 * dPhiL6byDtheta3 * momJ_8->
data[iCut] +
910 dPhi2byDtheta0 * dPhi7byDtheta3 * momI_9->
data[iCut] +
911 dPhi4byDtheta0 * dPhi2byDtheta3 * momI_6->
data[iCut] +
912 dPhi4byDtheta0 * dPhi3byDtheta3 * momI_7->
data[iCut] +
913 dPhi4byDtheta0 * dPhi4byDtheta3 * momI_8->
data[iCut] +
914 dPhi4byDtheta0 * dPhi5byDtheta3 * momI_9->
data[iCut] +
915 dPhi4byDtheta0 * dPhiL5byDtheta3 * momJ_9->
data[iCut] +
916 dPhi4byDtheta0 * dPhi6byDtheta3 * momI_10->
data[iCut] +
917 dPhi4byDtheta0 * dPhiL6byDtheta3 * momJ_10->
data[iCut] +
918 dPhi4byDtheta0 * dPhi7byDtheta3 * momI_11->
data[iCut] +
919 dPhi5byDtheta0 * dPhi2byDtheta3 * momI_7->
data[iCut] +
920 dPhiL5byDtheta0 * dPhi2byDtheta3 * momJ_7->
data[iCut] +
921 dPhi5byDtheta0 * dPhi3byDtheta3 * momI_8->
data[iCut] +
922 dPhiL5byDtheta0 * dPhi3byDtheta3 * momJ_8->
data[iCut] +
923 dPhi5byDtheta0 * dPhi4byDtheta3 * momI_9->
data[iCut] +
924 dPhiL5byDtheta0 * dPhi4byDtheta3 * momJ_9->
data[iCut] +
925 dPhi5byDtheta0 * dPhi5byDtheta3 * momI_10->
data[iCut] +
926 dPhi5byDtheta0 * dPhiL5byDtheta3 * momJ_10->
data[iCut] +
927 dPhiL5byDtheta0 * dPhi5byDtheta3 * momJ_10->
data[iCut] +
928 dPhiL5byDtheta0 * dPhiL5byDtheta3 * momK_10->
data[iCut] +
929 dPhi5byDtheta0 * dPhi6byDtheta3 * momI_11->
data[iCut] +
930 dPhi5byDtheta0 * dPhiL6byDtheta3 * momJ_11->
data[iCut] +
931 dPhiL5byDtheta0 * dPhi6byDtheta3 * momJ_11->
data[iCut] +
932 dPhiL5byDtheta0 * dPhiL6byDtheta3 * momK_11->
data[iCut] +
933 dPhi5byDtheta0 * dPhi7byDtheta3 * momI_12->
data[iCut] +
934 dPhiL5byDtheta0 * dPhi7byDtheta3 * momJ_12->
data[iCut] +
935 dPhi6byDtheta0 * dPhi2byDtheta3 * momI_8->
data[iCut] +
936 dPhiL6byDtheta0 * dPhi2byDtheta3 * momJ_8->
data[iCut] +
937 dPhi6byDtheta0 * dPhi3byDtheta3 * momI_9->
data[iCut] +
938 dPhiL6byDtheta0 * dPhi3byDtheta3 * momJ_9->
data[iCut] +
939 dPhi6byDtheta0 * dPhi4byDtheta3 * momI_10->
data[iCut] +
940 dPhiL6byDtheta0 * dPhi4byDtheta3 * momJ_10->
data[iCut] +
941 dPhi6byDtheta0 * dPhi5byDtheta3 * momI_11->
data[iCut] +
942 dPhi6byDtheta0 * dPhiL5byDtheta3 * momJ_11->
data[iCut] +
943 dPhiL6byDtheta0 * dPhi5byDtheta3 * momJ_11->
data[iCut] +
944 dPhiL6byDtheta0 * dPhiL5byDtheta3 * momK_11->
data[iCut] +
945 dPhi6byDtheta0 * dPhi6byDtheta3 * momI_12->
data[iCut] +
946 dPhi6byDtheta0 * dPhiL6byDtheta3 * momJ_12->
data[iCut] +
947 dPhiL6byDtheta0 * dPhi6byDtheta3 * momJ_12->
data[iCut] +
948 dPhiL6byDtheta0 * dPhiL6byDtheta3 * momK_12->
data[iCut] +
949 dPhi6byDtheta0 * dPhi7byDtheta3 * momI_13->
data[iCut] +
950 dPhiL6byDtheta0 * dPhi7byDtheta3 * momJ_13->
data[iCut] +
951 dPhi7byDtheta0 * dPhi2byDtheta3 * momI_9->
data[iCut] +
952 dPhi7byDtheta0 * dPhi3byDtheta3 * momI_10->
data[iCut] +
953 dPhi7byDtheta0 * dPhi4byDtheta3 * momI_11->
data[iCut] +
954 dPhi7byDtheta0 * dPhi5byDtheta3 * momI_12->
data[iCut] +
955 dPhi7byDtheta0 * dPhiL5byDtheta3 * momJ_12->
data[iCut] +
956 dPhi7byDtheta0 * dPhi6byDtheta3 * momI_13->
data[iCut] +
957 dPhi7byDtheta0 * dPhiL6byDtheta3 * momJ_13->
data[iCut] +
958 dPhi7byDtheta0 * dPhi7byDtheta3 * momI_14->
data[iCut] +
965 REAL8 g_theta0theta3s = dPhi0byDtheta0 * dPhi3byDtheta3s * momI_3->
data[iCut] +
966 dPhi0byDtheta0 * dPhi4byDtheta3s * momI_4->
data[iCut] +
967 dPhi0byDtheta0 * dPhi5byDtheta3s * momI_5->
data[iCut] +
968 dPhi0byDtheta0 * dPhiL5byDtheta3s * momJ_5->
data[iCut] +
969 dPhi2byDtheta0 * dPhi3byDtheta3s * momI_5->
data[iCut] +
970 dPhi2byDtheta0 * dPhi4byDtheta3s * momI_6->
data[iCut] +
971 dPhi2byDtheta0 * dPhi5byDtheta3s * momI_7->
data[iCut] +
972 dPhi2byDtheta0 * dPhiL5byDtheta3s * momJ_7->
data[iCut] +
973 dPhi4byDtheta0 * dPhi3byDtheta3s * momI_7->
data[iCut] +
974 dPhi4byDtheta0 * dPhi4byDtheta3s * momI_8->
data[iCut] +
975 dPhi4byDtheta0 * dPhi5byDtheta3s * momI_9->
data[iCut] +
976 dPhi4byDtheta0 * dPhiL5byDtheta3s * momJ_9->
data[iCut] +
977 dPhi5byDtheta0 * dPhi3byDtheta3s * momI_8->
data[iCut] +
978 dPhiL5byDtheta0 * dPhi3byDtheta3s * momJ_8->
data[iCut] +
979 dPhi5byDtheta0 * dPhi4byDtheta3s * momI_9->
data[iCut] +
980 dPhiL5byDtheta0 * dPhi4byDtheta3s * momJ_9->
data[iCut] +
981 dPhi5byDtheta0 * dPhi5byDtheta3s * momI_10->
data[iCut] +
982 dPhi5byDtheta0 * dPhiL5byDtheta3s * momJ_10->
data[iCut] +
983 dPhiL5byDtheta0 * dPhi5byDtheta3s * momJ_10->
data[iCut] +
984 dPhiL5byDtheta0 * dPhiL5byDtheta3s * momK_10->
data[iCut] +
985 dPhi6byDtheta0 * dPhi3byDtheta3s * momI_9->
data[iCut] +
986 dPhiL6byDtheta0 * dPhi3byDtheta3s * momJ_9->
data[iCut] +
987 dPhi6byDtheta0 * dPhi4byDtheta3s * momI_10->
data[iCut] +
988 dPhiL6byDtheta0 * dPhi4byDtheta3s * momJ_10->
data[iCut] +
989 dPhi6byDtheta0 * dPhi5byDtheta3s * momI_11->
data[iCut] +
990 dPhi6byDtheta0 * dPhiL5byDtheta3s * momJ_11->
data[iCut] +
991 dPhiL6byDtheta0 * dPhi5byDtheta3s * momJ_11->
data[iCut] +
992 dPhiL6byDtheta0 * dPhiL5byDtheta3s * momK_11->
data[iCut] +
993 dPhi7byDtheta0 * dPhi3byDtheta3s * momI_10->
data[iCut] +
994 dPhi7byDtheta0 * dPhi4byDtheta3s * momI_11->
data[iCut] +
995 dPhi7byDtheta0 * dPhi5byDtheta3s * momI_12->
data[iCut] +
996 dPhi7byDtheta0 * dPhiL5byDtheta3s * momJ_12->
data[iCut] +
1003 REAL8 g_theta0t0 = dPhi0byDtheta0 * dPhi8byDt0 * momI_8->
data[iCut] +
1004 dPhi2byDtheta0 * dPhi8byDt0 * momI_10->
data[iCut] +
1005 dPhi4byDtheta0 * dPhi8byDt0 * momI_12->
data[iCut] +
1006 dPhi5byDtheta0 * dPhi8byDt0 * momI_13->
data[iCut] +
1007 dPhiL5byDtheta0 * dPhi8byDt0 * momJ_13->
data[iCut] +
1008 dPhi6byDtheta0 * dPhi8byDt0 * momI_14->
data[iCut] +
1009 dPhiL6byDtheta0 * dPhi8byDt0 * momJ_14->
data[iCut] +
1010 dPhi7byDtheta0 * dPhi8byDt0 * momI_15->
data[iCut] +
1017 REAL8 g_theta0phi0 = dPhi0byDtheta0 * dPhi5byDphi0 * momI_5->
data[iCut] +
1018 dPhi2byDtheta0 * dPhi5byDphi0 * momI_7->
data[iCut] +
1019 dPhi4byDtheta0 * dPhi5byDphi0 * momI_9->
data[iCut] +
1020 dPhi5byDtheta0 * dPhi5byDphi0 * momI_10->
data[iCut] +
1021 dPhiL5byDtheta0 * dPhi5byDphi0 * momJ_10->
data[iCut] +
1022 dPhi6byDtheta0 * dPhi5byDphi0 * momI_11->
data[iCut] +
1023 dPhiL6byDtheta0 * dPhi5byDphi0 * momJ_11->
data[iCut] +
1024 dPhi7byDtheta0 * dPhi5byDphi0 * momI_12->
data[iCut] +
1031 REAL8 g_theta3theta3 = dPhi2byDtheta3 * dPhi2byDtheta3 * momI_4->
data[iCut] +
1032 dPhi2byDtheta3 * dPhi3byDtheta3 * momI_5->
data[iCut] +
1033 dPhi2byDtheta3 * dPhi4byDtheta3 * momI_6->
data[iCut] +
1034 dPhi2byDtheta3 * dPhi5byDtheta3 * momI_7->
data[iCut] +
1035 dPhi2byDtheta3 * dPhiL5byDtheta3 * momJ_7->
data[iCut] +
1036 dPhi2byDtheta3 * dPhi6byDtheta3 * momI_8->
data[iCut] +
1037 dPhi2byDtheta3 * dPhiL6byDtheta3 * momJ_8->
data[iCut] +
1038 dPhi2byDtheta3 * dPhi7byDtheta3 * momI_9->
data[iCut] +
1039 dPhi3byDtheta3 * dPhi2byDtheta3 * momI_5->
data[iCut] +
1040 dPhi3byDtheta3 * dPhi3byDtheta3 * momI_6->
data[iCut] +
1041 dPhi3byDtheta3 * dPhi4byDtheta3 * momI_7->
data[iCut] +
1042 dPhi3byDtheta3 * dPhi5byDtheta3 * momI_8->
data[iCut] +
1043 dPhi3byDtheta3 * dPhiL5byDtheta3 * momJ_8->
data[iCut] +
1044 dPhi3byDtheta3 * dPhi6byDtheta3 * momI_9->
data[iCut] +
1045 dPhi3byDtheta3 * dPhiL6byDtheta3 * momJ_9->
data[iCut] +
1046 dPhi3byDtheta3 * dPhi7byDtheta3 * momI_10->
data[iCut] +
1047 dPhi4byDtheta3 * dPhi2byDtheta3 * momI_6->
data[iCut] +
1048 dPhi4byDtheta3 * dPhi3byDtheta3 * momI_7->
data[iCut] +
1049 dPhi4byDtheta3 * dPhi4byDtheta3 * momI_8->
data[iCut] +
1050 dPhi4byDtheta3 * dPhi5byDtheta3 * momI_9->
data[iCut] +
1051 dPhi4byDtheta3 * dPhiL5byDtheta3 * momJ_9->
data[iCut] +
1052 dPhi4byDtheta3 * dPhi6byDtheta3 * momI_10->
data[iCut] +
1053 dPhi4byDtheta3 * dPhiL6byDtheta3 * momJ_10->
data[iCut] +
1054 dPhi4byDtheta3 * dPhi7byDtheta3 * momI_11->
data[iCut] +
1055 dPhi5byDtheta3 * dPhi2byDtheta3 * momI_7->
data[iCut] +
1056 dPhiL5byDtheta3 * dPhi2byDtheta3 * momJ_7->
data[iCut] +
1057 dPhi5byDtheta3 * dPhi3byDtheta3 * momI_8->
data[iCut] +
1058 dPhiL5byDtheta3 * dPhi3byDtheta3 * momJ_8->
data[iCut] +
1059 dPhi5byDtheta3 * dPhi4byDtheta3 * momI_9->
data[iCut] +
1060 dPhiL5byDtheta3 * dPhi4byDtheta3 * momJ_9->
data[iCut] +
1061 dPhi5byDtheta3 * dPhi5byDtheta3 * momI_10->
data[iCut] +
1062 dPhi5byDtheta3 * dPhiL5byDtheta3 * momJ_10->
data[iCut] +
1063 dPhiL5byDtheta3 * dPhi5byDtheta3 * momJ_10->
data[iCut] +
1064 dPhiL5byDtheta3 * dPhiL5byDtheta3 * momK_10->
data[iCut] +
1065 dPhi5byDtheta3 * dPhi6byDtheta3 * momI_11->
data[iCut] +
1066 dPhi5byDtheta3 * dPhiL6byDtheta3 * momJ_11->
data[iCut] +
1067 dPhiL5byDtheta3 * dPhi6byDtheta3 * momJ_11->
data[iCut] +
1068 dPhiL5byDtheta3 * dPhiL6byDtheta3 * momK_11->
data[iCut] +
1069 dPhi5byDtheta3 * dPhi7byDtheta3 * momI_12->
data[iCut] +
1070 dPhiL5byDtheta3 * dPhi7byDtheta3 * momJ_12->
data[iCut] +
1071 dPhi6byDtheta3 * dPhi2byDtheta3 * momI_8->
data[iCut] +
1072 dPhiL6byDtheta3 * dPhi2byDtheta3 * momJ_8->
data[iCut] +
1073 dPhi6byDtheta3 * dPhi3byDtheta3 * momI_9->
data[iCut] +
1074 dPhiL6byDtheta3 * dPhi3byDtheta3 * momJ_9->
data[iCut] +
1075 dPhi6byDtheta3 * dPhi4byDtheta3 * momI_10->
data[iCut] +
1076 dPhiL6byDtheta3 * dPhi4byDtheta3 * momJ_10->
data[iCut] +
1077 dPhi6byDtheta3 * dPhi5byDtheta3 * momI_11->
data[iCut] +
1078 dPhi6byDtheta3 * dPhiL5byDtheta3 * momJ_11->
data[iCut] +
1079 dPhiL6byDtheta3 * dPhi5byDtheta3 * momJ_11->
data[iCut] +
1080 dPhiL6byDtheta3 * dPhiL5byDtheta3 * momK_11->
data[iCut] +
1081 dPhi6byDtheta3 * dPhi6byDtheta3 * momI_12->
data[iCut] +
1082 dPhi6byDtheta3 * dPhiL6byDtheta3 * momJ_12->
data[iCut] +
1083 dPhiL6byDtheta3 * dPhi6byDtheta3 * momJ_12->
data[iCut] +
1084 dPhiL6byDtheta3 * dPhiL6byDtheta3 * momK_12->
data[iCut] +
1085 dPhi6byDtheta3 * dPhi7byDtheta3 * momI_13->
data[iCut] +
1086 dPhiL6byDtheta3 * dPhi7byDtheta3 * momJ_13->
data[iCut] +
1087 dPhi7byDtheta3 * dPhi2byDtheta3 * momI_9->
data[iCut] +
1088 dPhi7byDtheta3 * dPhi3byDtheta3 * momI_10->
data[iCut] +
1089 dPhi7byDtheta3 * dPhi4byDtheta3 * momI_11->
data[iCut] +
1090 dPhi7byDtheta3 * dPhi5byDtheta3 * momI_12->
data[iCut] +
1091 dPhi7byDtheta3 * dPhiL5byDtheta3 * momJ_12->
data[iCut] +
1092 dPhi7byDtheta3 * dPhi6byDtheta3 * momI_13->
data[iCut] +
1093 dPhi7byDtheta3 * dPhiL6byDtheta3 * momJ_13->
data[iCut] +
1094 dPhi7byDtheta3 * dPhi7byDtheta3 * momI_14->
data[iCut] +
1101 REAL8 g_theta3theta3s = dPhi2byDtheta3 * dPhi3byDtheta3s * momI_5->
data[iCut] +
1102 dPhi2byDtheta3 * dPhi4byDtheta3s * momI_6->
data[iCut] +
1103 dPhi2byDtheta3 * dPhi5byDtheta3s * momI_7->
data[iCut] +
1104 dPhi2byDtheta3 * dPhiL5byDtheta3s * momJ_7->
data[iCut] +
1105 dPhi3byDtheta3 * dPhi3byDtheta3s * momI_6->
data[iCut] +
1106 dPhi3byDtheta3 * dPhi4byDtheta3s * momI_7->
data[iCut] +
1107 dPhi3byDtheta3 * dPhi5byDtheta3s * momI_8->
data[iCut] +
1108 dPhi3byDtheta3 * dPhiL5byDtheta3s * momJ_8->
data[iCut] +
1109 dPhi4byDtheta3 * dPhi3byDtheta3s * momI_7->
data[iCut] +
1110 dPhi4byDtheta3 * dPhi4byDtheta3s * momI_8->
data[iCut] +
1111 dPhi4byDtheta3 * dPhi5byDtheta3s * momI_9->
data[iCut] +
1112 dPhi4byDtheta3 * dPhiL5byDtheta3s * momJ_9->
data[iCut] +
1113 dPhi5byDtheta3 * dPhi3byDtheta3s * momI_8->
data[iCut] +
1114 dPhiL5byDtheta3 * dPhi3byDtheta3s * momJ_8->
data[iCut] +
1115 dPhi5byDtheta3 * dPhi4byDtheta3s * momI_9->
data[iCut] +
1116 dPhiL5byDtheta3 * dPhi4byDtheta3s * momJ_9->
data[iCut] +
1117 dPhi5byDtheta3 * dPhi5byDtheta3s * momI_10->
data[iCut] +
1118 dPhi5byDtheta3 * dPhiL5byDtheta3s * momJ_10->
data[iCut] +
1119 dPhiL5byDtheta3 * dPhi5byDtheta3s * momJ_10->
data[iCut] +
1120 dPhiL5byDtheta3 * dPhiL5byDtheta3s * momK_10->
data[iCut] +
1121 dPhi6byDtheta3 * dPhi3byDtheta3s * momI_9->
data[iCut] +
1122 dPhiL6byDtheta3 * dPhi3byDtheta3s * momJ_9->
data[iCut] +
1123 dPhi6byDtheta3 * dPhi4byDtheta3s * momI_10->
data[iCut] +
1124 dPhiL6byDtheta3 * dPhi4byDtheta3s * momJ_10->
data[iCut] +
1125 dPhi6byDtheta3 * dPhi5byDtheta3s * momI_11->
data[iCut] +
1126 dPhi6byDtheta3 * dPhiL5byDtheta3s * momJ_11->
data[iCut] +
1127 dPhiL6byDtheta3 * dPhi5byDtheta3s * momJ_11->
data[iCut] +
1128 dPhiL6byDtheta3 * dPhiL5byDtheta3s * momK_11->
data[iCut] +
1129 dPhi7byDtheta3 * dPhi3byDtheta3s * momI_10->
data[iCut] +
1130 dPhi7byDtheta3 * dPhi4byDtheta3s * momI_11->
data[iCut] +
1131 dPhi7byDtheta3 * dPhi5byDtheta3s * momI_12->
data[iCut] +
1132 dPhi7byDtheta3 * dPhiL5byDtheta3s * momJ_12->
data[iCut] +
1139 REAL8 g_theta3t0 = dPhi2byDtheta3 * dPhi8byDt0 * momI_10->
data[iCut] +
1140 dPhi3byDtheta3 * dPhi8byDt0 * momI_11->
data[iCut] +
1141 dPhi4byDtheta3 * dPhi8byDt0 * momI_12->
data[iCut] +
1142 dPhi5byDtheta3 * dPhi8byDt0 * momI_13->
data[iCut] +
1143 dPhiL5byDtheta3 * dPhi8byDt0 * momJ_13->
data[iCut] +
1144 dPhi6byDtheta3 * dPhi8byDt0 * momI_14->
data[iCut] +
1145 dPhiL6byDtheta3 * dPhi8byDt0 * momJ_14->
data[iCut] +
1146 dPhi7byDtheta3 * dPhi8byDt0 * momI_15->
data[iCut] +
1153 REAL8 g_theta3phi0 = dPhi2byDtheta3 * dPhi5byDphi0 * momI_7->
data[iCut] +
1154 dPhi3byDtheta3 * dPhi5byDphi0 * momI_8->
data[iCut] +
1155 dPhi4byDtheta3 * dPhi5byDphi0 * momI_9->
data[iCut] +
1156 dPhi5byDtheta3 * dPhi5byDphi0 * momI_10->
data[iCut] +
1157 dPhiL5byDtheta3 * dPhi5byDphi0 * momJ_10->
data[iCut] +
1158 dPhi6byDtheta3 * dPhi5byDphi0 * momI_11->
data[iCut] +
1159 dPhiL6byDtheta3 * dPhi5byDphi0 * momJ_11->
data[iCut] +
1160 dPhi7byDtheta3 * dPhi5byDphi0 * momI_12->
data[iCut] +
1167 REAL8 g_theta3stheta3s = dPhi3byDtheta3s * dPhi3byDtheta3s * momI_6->
data[iCut] +
1168 dPhi3byDtheta3s * dPhi4byDtheta3s * momI_7->
data[iCut] +
1169 dPhi3byDtheta3s * dPhi5byDtheta3s * momI_8->
data[iCut] +
1170 dPhi3byDtheta3s * dPhiL5byDtheta3s * momJ_8->
data[iCut] +
1171 dPhi4byDtheta3s * dPhi3byDtheta3s * momI_7->
data[iCut] +
1172 dPhi4byDtheta3s * dPhi4byDtheta3s * momI_8->
data[iCut] +
1173 dPhi4byDtheta3s * dPhi5byDtheta3s * momI_9->
data[iCut] +
1174 dPhi4byDtheta3s * dPhiL5byDtheta3s * momJ_9->
data[iCut] +
1175 dPhi5byDtheta3s * dPhi3byDtheta3s * momI_8->
data[iCut] +
1176 dPhiL5byDtheta3s * dPhi3byDtheta3s * momJ_8->
data[iCut] +
1177 dPhi5byDtheta3s * dPhi4byDtheta3s * momI_9->
data[iCut] +
1178 dPhiL5byDtheta3s * dPhi4byDtheta3s * momJ_9->
data[iCut] +
1179 dPhi5byDtheta3s * dPhi5byDtheta3s * momI_10->
data[iCut] +
1180 dPhi5byDtheta3s * dPhiL5byDtheta3s * momJ_10->
data[iCut] +
1181 dPhiL5byDtheta3s * dPhi5byDtheta3s * momJ_10->
data[iCut] +
1182 dPhiL5byDtheta3s * dPhiL5byDtheta3s * momK_10->
data[iCut] +
1189 REAL8 g_theta3st0 = dPhi3byDtheta3s * dPhi8byDt0 * momI_11->
data[iCut] +
1190 dPhi4byDtheta3s * dPhi8byDt0 * momI_12->
data[iCut] +
1191 dPhi5byDtheta3s * dPhi8byDt0 * momI_13->
data[iCut] +
1192 dPhiL5byDtheta3s * dPhi8byDt0 * momJ_13->
data[iCut] +
1199 REAL8 g_theta3sphi0 = dPhi3byDtheta3s * dPhi5byDphi0 * momI_8->
data[iCut] +
1200 dPhi4byDtheta3s * dPhi5byDphi0 * momI_9->
data[iCut] +
1201 dPhi5byDtheta3s * dPhi5byDphi0 * momI_10->
data[iCut] +
1202 dPhiL5byDtheta3s * dPhi5byDphi0 * momJ_10->
data[iCut] +
1209 REAL8 g_t0t0 = dPhi8byDt0 * dPhi8byDt0 * momI_16->
data[iCut] +
1216 REAL8 g_t0phi0 = dPhi8byDt0 * dPhi5byDphi0 * momI_13->
data[iCut] +
1223 REAL8 g_phi0phi0 = dPhi5byDphi0 * dPhi5byDphi0 * momI_10->
data[iCut] +
1230 gsl_matrix * g = gsl_matrix_calloc (5, 5);
1233 gsl_matrix_set (g, 0,0, g_theta0theta0/hSqr);
1234 gsl_matrix_set (g, 0,1, g_theta0theta3/hSqr);
1235 gsl_matrix_set (g, 0,2, g_theta0theta3s/hSqr);
1236 gsl_matrix_set (g, 0,3, g_theta0t0/hSqr);
1237 gsl_matrix_set (g, 0,4, g_theta0phi0/hSqr);
1239 gsl_matrix_set (g, 1,0, gsl_matrix_get(g, 0,1));
1240 gsl_matrix_set (g, 1,1, g_theta3theta3/hSqr);
1241 gsl_matrix_set (g, 1,2, g_theta3theta3s/hSqr);
1242 gsl_matrix_set (g, 1,3, g_theta3t0/hSqr);
1243 gsl_matrix_set (g, 1,4, g_theta3phi0/hSqr);
1245 gsl_matrix_set (g, 2,0, gsl_matrix_get(g, 0,2));
1246 gsl_matrix_set (g, 2,1, gsl_matrix_get(g, 1,2));
1247 gsl_matrix_set (g, 2,2, g_theta3stheta3s/hSqr);
1248 gsl_matrix_set (g, 2,3, g_theta3st0/hSqr);
1249 gsl_matrix_set (g, 2,4, g_theta3sphi0/hSqr);
1251 gsl_matrix_set (g, 3,0, gsl_matrix_get(g, 0,3));
1252 gsl_matrix_set (g, 3,1, gsl_matrix_get(g, 1,3));
1253 gsl_matrix_set (g, 3,2, gsl_matrix_get(g, 2,3));
1254 gsl_matrix_set (g, 3,3, g_t0t0/hSqr);
1255 gsl_matrix_set (g, 3,4, g_t0phi0/hSqr);
1257 gsl_matrix_set (g, 4,0, gsl_matrix_get(g, 0,4));
1258 gsl_matrix_set (g, 4,1, gsl_matrix_get(g, 1,4));
1259 gsl_matrix_set (g, 4,2, gsl_matrix_get(g, 2,4));
1260 gsl_matrix_set (g, 4,3, gsl_matrix_get(g, 3,4));
1261 gsl_matrix_set (g, 4,4, g_phi0phi0/hSqr);
1280 const REAL8 theta3s,
1314 theta0, theta3, theta3s, fLow, df, momI_0, momI_2, momI_3, momI_4,
1315 momI_5, momI_6, momI_7, momI_8, momI_9, momI_10, momI_11, momI_12,
1316 momI_13, momI_14, momI_15, momI_16, momJ_5, momJ_6, momJ_7, momJ_8,
1317 momJ_9, momJ_10, momJ_11, momJ_12, momJ_13, momJ_14, momK_10, momK_11,
1328 gsl_matrix_view g1v = gsl_matrix_submatrix (g, 0, 0, 3, 3);
1329 gsl_matrix_view g2v = gsl_matrix_submatrix (g, 0, 3, 3, 2);
1330 gsl_matrix_view g3v = gsl_matrix_submatrix (g, 3, 3, 2, 2);
1331 gsl_matrix_view g4v = gsl_matrix_submatrix (g, 3, 0, 2, 3);
1333 gsl_matrix *
g1 = gsl_matrix_calloc (3, 3);
1334 gsl_matrix *
g2 = gsl_matrix_calloc (3, 2);
1335 gsl_matrix *
g3 = gsl_matrix_calloc (2, 2);
1336 gsl_matrix *
g4 = gsl_matrix_calloc (2, 3);
1337 gsl_matrix * g3invg4 = gsl_matrix_calloc (2, 3);
1338 gsl_matrix * g2g3invg4 = gsl_matrix_calloc (3, 3);
1341 gsl_matrix * g3inv = gsl_matrix_calloc (2, 2);
1342 gsl_permutation *
p = gsl_permutation_calloc (2);
1344 gsl_matrix_memcpy (
g1, &g1v.matrix);
1345 gsl_matrix_memcpy (
g2, &g2v.matrix);
1346 gsl_matrix_memcpy (
g3, &g3v.matrix);
1347 gsl_matrix_memcpy (
g4, &g4v.matrix);
1348 gsl_matrix_free (g);
1350 gsl_linalg_LU_decomp (
g3,
p, &
s);
1351 gsl_linalg_LU_invert (
g3,
p, g3inv);
1352 gsl_permutation_free (
p);
1353 gsl_matrix_free (
g3);
1355 gsl_blas_dgemm (CblasNoTrans, CblasNoTrans, 1.0, g3inv,
g4, 0.0, g3invg4);
1356 gsl_matrix_free (
g4);
1357 gsl_matrix_free (g3inv);
1358 gsl_blas_dgemm (CblasNoTrans, CblasNoTrans, 1.0,
g2, g3invg4, 0.0, g2g3invg4);
1359 gsl_matrix_free (
g2);
1360 gsl_matrix_free (g3invg4);
1362 gsl_matrix_sub (
g1, g2g3invg4);
1363 gsl_matrix_free (g2g3invg4);
1365 *gamma00 = gsl_matrix_get(
g1, 0, 0);
1366 *gamma01 = gsl_matrix_get(
g1, 0, 1);
1367 *gamma02 = gsl_matrix_get(
g1, 0, 2);
1368 *gamma11 = gsl_matrix_get(
g1, 1, 1);
1369 *gamma12 = gsl_matrix_get(
g1, 1, 2);
1370 *gamma22 = gsl_matrix_get(
g1, 2, 2);
1371 gsl_matrix_free (
g1);
1388 *theta3 = cbrt(
LAL_PI)/(4.*pow(mc*
LAL_MTSUN_SI*fLow,0.6666666666666666)*pow(eta,0.6));
1389 *theta3s = (113.*chi)/(192.*pow(
LAL_PI*mc*
LAL_MTSUN_SI*fLow,0.6666666666666666)*pow(eta,0.6));
1404 *eta = cbrt(16.*pow(
LAL_PI,5.)*theta0*theta0/ (25.*pow(theta3,5.)));
1405 *chi = 48.*
LAL_PI*theta3s/(113.*theta3);
static REAL8 XLALSimInspiralTaylorF2RedSpinDerivAEta(const REAL8 mc_msun, const REAL8 eta, const REAL8 chi, const REAL8 f)
static REAL8 XLALSimInspiralTaylorF2RedSpinDerivPsiEta(const REAL8 mc_msun, const REAL8 eta, const REAL8 chi, const REAL8 f)
static REAL8 XLALSimInspiralTaylorF2RedSpinDerivPsiMChirp(const REAL8 mc_msun, const REAL8 eta, const REAL8 chi, const REAL8 f)
static REAL8 MetricCoeffs(REAL8Vector *A, REAL8Vector *dPsii, REAL8Vector *dPsij, REAL8Vector *dAi, REAL8Vector *dAj, REAL8Vector *Sh, REAL8 hSqr, REAL8 df)
static REAL8 XLALSimInspiralTaylorF2RedSpinDerivPsiChi(const REAL8 mc_msun, const REAL8 eta, const REAL8 chi, const REAL8 f)
static REAL8 XLALSimInspiralTaylorF2RedSpinDerivAMChirp(const REAL8 mc_msun, const REAL8 eta, const REAL8 chi, const REAL8 f)
static REAL8 XLALSimInspiralTaylorF2RedSpinAofF(const REAL8 mc_msun, const REAL8 eta, const REAL8 chi, const REAL8 f)
static REAL8 XLALSimInspiralTaylorF2RedSpinDerivAChi(const REAL8 mc_msun, const REAL8 eta, const REAL8 chi, const REAL8 f)
int XLALSimInspiralTaylorF2RedSpinComputeNoiseMoments(REAL8Vector *momI_0, REAL8Vector *momI_2, REAL8Vector *momI_3, REAL8Vector *momI_4, REAL8Vector *momI_5, REAL8Vector *momI_6, REAL8Vector *momI_7, REAL8Vector *momI_8, REAL8Vector *momI_9, REAL8Vector *momI_10, REAL8Vector *momI_11, REAL8Vector *momI_12, REAL8Vector *momI_13, REAL8Vector *momI_14, REAL8Vector *momI_15, REAL8Vector *momI_16, REAL8Vector *momJ_5, REAL8Vector *momJ_6, REAL8Vector *momJ_7, REAL8Vector *momJ_8, REAL8Vector *momJ_9, REAL8Vector *momJ_10, REAL8Vector *momJ_11, REAL8Vector *momJ_12, REAL8Vector *momJ_13, REAL8Vector *momJ_14, REAL8Vector *momK_10, REAL8Vector *momK_11, REAL8Vector *momK_12, REAL8Vector *Sh, REAL8 fLow, REAL8 df)
Compute the template-space metric of "reduced-spin" PN templates in theta0, theta3,...
void XLALSimInspiralTaylorF2RedSpinMchirpEtaChiFromChirpTimes(double *mc, double *eta, double *chi, double theta0, double theta3, double theta3s, double fLow)
int XLALSimInspiralTaylorF2RedSpinMetricMChirpEtaChi(REAL8 *gamma00, REAL8 *gamma01, REAL8 *gamma02, REAL8 *gamma11, REAL8 *gamma12, REAL8 *gamma22, const REAL8 mc, const REAL8 eta, const REAL8 chi, const REAL8 fLow, const REAL8FrequencySeries *Sh)
gsl_matrix * XLALSimInspiralTaylorF2RedSpinFisherMatrixChirpTimes(const REAL8 theta0, const REAL8 theta3, const REAL8 theta3s, const REAL8 fLow, const REAL8 df, REAL8Vector *momI_0, REAL8Vector *momI_2, REAL8Vector *momI_3, REAL8Vector *momI_4, REAL8Vector *momI_5, REAL8Vector *momI_6, REAL8Vector *momI_7, REAL8Vector *momI_8, REAL8Vector *momI_9, REAL8Vector *momI_10, REAL8Vector *momI_11, REAL8Vector *momI_12, REAL8Vector *momI_13, REAL8Vector *momI_14, REAL8Vector *momI_15, REAL8Vector *momI_16, REAL8Vector *momJ_5, REAL8Vector *momJ_6, REAL8Vector *momJ_7, REAL8Vector *momJ_8, REAL8Vector *momJ_9, REAL8Vector *momJ_10, REAL8Vector *momJ_11, REAL8Vector *momJ_12, REAL8Vector *momJ_13, REAL8Vector *momJ_14, REAL8Vector *momK_10, REAL8Vector *momK_11, REAL8Vector *momK_12)
Compute the Fisher information matrix of "reduced-spin" PN templates in theta0, theta3,...
void XLALSimInspiralTaylorF2RedSpinChirpTimesFromMchirpEtaChi(double *theta0, double *theta3, double *theta3s, double mc, double eta, double chi, double fLow)
int XLALSimInspiralTaylorF2RedSpinMetricChirpTimes(REAL8 *gamma00, REAL8 *gamma01, REAL8 *gamma02, REAL8 *gamma11, REAL8 *gamma12, REAL8 *gamma22, const REAL8 theta0, const REAL8 theta3, const REAL8 theta3s, const REAL8 fLow, const REAL8 df, REAL8Vector *momI_0, REAL8Vector *momI_2, REAL8Vector *momI_3, REAL8Vector *momI_4, REAL8Vector *momI_5, REAL8Vector *momI_6, REAL8Vector *momI_7, REAL8Vector *momI_8, REAL8Vector *momI_9, REAL8Vector *momI_10, REAL8Vector *momI_11, REAL8Vector *momI_12, REAL8Vector *momI_13, REAL8Vector *momI_14, REAL8Vector *momI_15, REAL8Vector *momI_16, REAL8Vector *momJ_5, REAL8Vector *momJ_6, REAL8Vector *momJ_7, REAL8Vector *momJ_8, REAL8Vector *momJ_9, REAL8Vector *momJ_10, REAL8Vector *momJ_11, REAL8Vector *momJ_12, REAL8Vector *momJ_13, REAL8Vector *momJ_14, REAL8Vector *momK_10, REAL8Vector *momK_11, REAL8Vector *momK_12)
Compute the template-space metric of "reduced-spin" PN templates in theta0, theta3,...
REAL8Vector * XLALCreateREAL8Vector(UINT4 length)
void XLALDestroyREAL8Vector(REAL8Vector *vector)
#define XLAL_ERROR_NULL(...)
int XLALPrintError(const char *fmt,...) _LAL_GCC_PRINTF_FORMAT_(1
int int XLALPrintWarning(const char *fmt,...) _LAL_GCC_PRINTF_FORMAT_(1