for (i = 0; i < n_smpl; ++i) {
const uint8_t *pi = PL[j] + i * PL_len[j];
double *p = pdg[j] + i * 3;
for (i = 0; i < n_smpl; ++i) {
const uint8_t *pi = PL[j] + i * PL_len[j];
double *p = pdg[j] + i * 3;
memcpy(flast, f, 4 * sizeof(double));
freq_iter(n_smpl, pdg, f);
for (i = 0; i < 4; ++i) {
memcpy(flast, f, 4 * sizeof(double));
freq_iter(n_smpl, pdg, f);
for (i = 0; i < 4; ++i) {
D = f[0] * f[3] - f[1] * f[2];
r = sqrt(D * D / (p[0] * p[1] * q[0] * q[1]));
// fprintf(stderr, "R(%lf,%lf,%lf,%lf)=%lf\n", f[0], f[1], f[2], f[3], r2);
D = f[0] * f[3] - f[1] * f[2];
r = sqrt(D * D / (p[0] * p[1] * q[0] * q[1]));
// fprintf(stderr, "R(%lf,%lf,%lf,%lf)=%lf\n", f[0], f[1], f[2], f[3], r2);